<<项目架构那点儿事>>——快速构建Junit用例
欢迎访问我的社区资源论坛http://www.javadt.com
【前言】按照惯例,在实际项目中我往往会对自己编写的程序进行测试,当测试通过后才能将其用于实战中,当然,编写单元测试是不可避免的,可以直接清晰的检验出我们程序的可靠性、可只执行性,从中发现问题从而得到及时的解决,这里我就谈谈我们项目里Junit编写规范、模板,其中包括对web层、业务层的分布单元测试。 【目录】 -----1.Struts2Junit实现Web层单元测试 -----2.SpringJunit实现业务层单元测试 【内容】 一、编写struts2Junit(依赖包:struts2-junit-plugin-2.1.8.jar,junit4,xwork-core-2.2.1.jar,struts2-core-2.2.3.jar,版本号可以任意struts2版本),我以User为例子,下面是UserWebJunit:
*@descriptionstruts2单元测试用例模板 */ publicclassStruts2JunitTemplateextendsStrutsTestCase{ /** *@description测试ActionMapping,验证资源是否请求 */ @Test publicvoidtestGetActionMapping(){ ActionMappingmapping=getActionMapping("/test/testAction.action"); assertNotNull(mapping); assertEquals("/test",mapping.getNamespace());//验证命名空间 assertEquals("testAction",mapping.getName());//验证Action名称是否对应 } /** *@description创建Action代理,验证请求参数、页面跳转 *@throwsException */ @Test publicvoidtestGetActionProxy()throwsException{ //在执行Action方法之前,对request进行请求参数设置 request.setParameter("name","fisher"); ActionProxyproxy=getActionProxy("/test/testAction.action"); assertNotNull(proxy); proxy.setExecuteResult(false); @SuppressWarnings("rawtypes") UserActionaction=(UserAction)proxy.getAction();//通过ActionProxy获得UserAction实例 assertNotNull(action); Stringresult=proxy.execute();//执行execute方法,返回结果 assertEquals(Action.SUCCESS,result);//比对返回结果是否和UserAction中的执行结果一致 } }
*@description用户业务测试 */ //使用springJunit4 @RunWith(SpringJUnit4ClassRunner.class) //spring配置文件加载(locations为文件路径) @ContextConfiguration(locations={ "classpath:spring/application-hibernate.xml", "classpath:spring/application-common-service.xml", "classpath:spring/application-sys-service.xml"}) publicclassUserTestJunit{ @Autowired UserServiceuserService;//自动注入userService /** *@description测试查询用户 *@throwsException */ @Test publicvoidquery()throwsException{ Listresult=userService.getAllEmployee(); Assert.notEmpty(result); } /** *@description测试用户添加 *@throwsException */ @Test publicvoidsave()throwsException{ Useruser=newUser(); user.setUsrCode("test001"); user.setUsrName("test"); user.setPassword("123"); user.setIdCard("513029198503140026"); user.setEmail("[email protected]"); Useru=userService.save(user); Assert.notNull(u); org.junit.Assert.assertEquals("test",user.getUsrName()); } /** *@description测试用户更新 *@throwsException */ @Test publicvoidupdate()throwsException{ Useruser=newUser(); user.setUsrCode("test001"); user.setUsrName("test"); user.setPassword("123"); user.setIdCard("513029198503140026"); user.setEmail("[email protected]"); Useru=userService.update(user); Assert.notNull(u); org.junit.Assert.assertEquals("test",user.getUsrName()); } /** *@description测试用户删除 *@throwsException */ @Test publicvoiddel()throwsException{ Useruser=newUser(); user.setUserId("1"); Useru=userService.delete(user); Assert.notNull(u); org.junit.Assert.assertEquals("1",user.getUserId()); } } |