Java 控制器的单元测试
我有一个项目,现在我的任务是为控制器做一个单元测试。我试着从网上搜索一些教程, 这是来自控制器的方法这是我发现的:Java 控制器的单元测试,java,unit-testing,junit,controller,Java,Unit Testing,Junit,Controller,我有一个项目,现在我的任务是为控制器做一个单元测试。我试着从网上搜索一些教程, 这是来自控制器的方法这是我发现的: 1. 2. 上面的链接无法填满杯子。我是新来的单元测试,下面是一个来自控制器的方法 控制器: private boolean insertNewUser(字符串名称、字符串用户名、字符串密码、字符串电子邮件、字符串用户类型、, 字符串团队,字符串[]项目ID,HttpSession会话) { UsersDAO UsersDAO=新UsersDAO(); ArrayList项目=
1.
2.
上面的链接无法填满杯子。我是新来的
单元测试,下面是一个来自控制器的方法
控制器:
private boolean insertNewUser(字符串名称、字符串用户名、字符串密码、字符串电子邮件、字符串用户类型、,
字符串团队,字符串[]项目ID,HttpSession会话)
{
UsersDAO UsersDAO=新UsersDAO();
ArrayList项目=新建ArrayList();
布尔插入;
String sessionType=(String)session.getAttribute(SessionUtility.session\u TYPE);
if(sessionType.equalsIgnoreCase(SessionUtility.TYPE\u SUPERADMIN))
{
if(userType.equalsIgnoreCase(SessionUtility.TYPE_ADMIN)||
userType.equalsIgnoreCase(SessionUtility.TYPE\u SUPERADMIN))
{
if(projectid!=null)
{
for(int i=0;i
问题:如何对控制器进行单元测试?示例方法如上所示
如果您需要更多的澄清,请评论
更新:Easymock示例非常好您可以使用并创建如下内容:
class ControllerTests extends grails.test.ControllerUnitTestCase {
void testInsert() {
controller.params.query = "Insert Query";
controller.insert();
assertEquals ("expected result", controller.response.contentAsString);
}
}您使用Spring的单元测试并创建如下内容():
你是在问如何使用junit还是单元测试应该是什么样子?我知道如何在控制器上使用junit,但我不知道该怎么做。请看我下面的帖子@newbie在使用grails之前是否需要设置?还是连接到数据库?我可以模拟conenction吗?我可以在隔离上测试控制器吗?单元测试的要点是,它应该在隔离上测试。如果您在@BeforeSessionUtility.TYPE_ADMIN标记的方法中初始化了所需的内容,那么我将如何模拟该请求?如果我没弄错的话,我真的应该嘲笑吗?对不起,我是新手。你可以用Mockito来模拟这些东西,或者你可以只提供虚拟值。或者你假设的价值观,或者它们应该是什么
class ControllerTests extends grails.test.ControllerUnitTestCase {
void testInsert() {
controller.params.query = "Insert Query";
controller.insert();
assertEquals ("expected result", controller.response.contentAsString);
}
import static org.junit.Assert.*;
@Before
private void setUp(){
//init variables here
}
@Test
private boolean insertNewUser(){
//initialize this variables:
String name, String username, String password, String email, String userType,
String team, String[] projectid,HttpSession session ;
String sessionType = ( String ) session.getAttribute( SessionUtility.SESSION_TYPE );
assertEquals(sessionType, SessionUtility.TYPE_SUPERADMIN);
assertEquals(userType, SessionUtility.TYPE_ADMIN);
assertEquals(userType, SessionUtility.TYPE_SUPERADMIN);
assertNotNull(projectId);
}