Spring项目使用JUnit4进行测试
2017-02-10 11:22
441 查看
作为java web程序员,我们经常要写junit测试,在不启动整个web项目的情况下,测试自己的service实现或者是dao实现,我们来充分利用下junit4的强大功能。
以上注解,会将spring context的bean全部注册到context中,这样在junit类中就可以随意使用spring 相关的实体bean对象了。当然我们的测试类必须继承
注意:
如果是maven多模块项目,很可能测试类和spring配置文件不在一个模块下,这种需要拷贝资源文件到测试的模块中(我只找到这种方法,如果有其他方法请指教)
转自: http://www.codingyun.com/article/80.html
1. 新建一个junit4的测试类
测试类要继承AbstractJUnit4SpringContextTests类,该父类能够调用spring context
2. 该junit测试类的源码
package com.songyh.modules.system.service; import com.songyh.modules.system.entity.SysRole; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests; import java.util.List; /** * 系统角色API测试类 * Created by songyh on 2017/2/10. */ @ContextConfiguration(locations = {"classpath:spring/spring-context*.xml"}) public class SysRoleServiceTest extends AbstractJUnit4SpringContextTests { //注入 @Autowired private SysRoleService sysRoleService; /** * 执行测试,就会执行有@Test注解的方法,相当于普通java类的main方法 * 该实例中可以直接调用spring已经注入的bean即sysRoleService */ @Test public void testGetSysRoleByUserId() { String userId = "867ccabfed5e40e480438f72dcab7126"; List<SysRole> sysRoleList = sysRoleService.getSysRoleByUserId(userId); for(SysRole sysRole : sysRoleList) { System.out.println(sysRole.getRoleName()); } } }
3.测试类代码说明
@ContextConfiguration(locations = {"classpath:spring/spring-context*.xml"}) public class SysRoleServiceTest extends AbstractJUnit4SpringContextTests {
以上注解,会将spring context的bean全部注册到context中,这样在junit类中就可以随意使用spring 相关的实体bean对象了。当然我们的测试类必须继承
AbstractJUnit4SpringContextTests
注意:
如果是maven多模块项目,很可能测试类和spring配置文件不在一个模块下,这种需要拷贝资源文件到测试的模块中(我只找到这种方法,如果有其他方法请指教)
4. 运行该junit
执行测试,有@Test注解的方法,就相当于普通java类的main方法,每个junit测试类至少要有一个@test注解的方法,可以有多个,多个则按顺序执行方法。@Test public void testGetSysRoleByUserId() { String userId = "867ccabfed5e40e480438f72dcab7126"; List<SysRole> sysRoleList = sysRoleService.getSysRoleByUserId(userId); for(SysRole sysRole : sysRoleList) { System.out.println(sysRole.getRoleName()); } }
转自: http://www.codingyun.com/article/80.html
相关文章推荐
- maven中使用spring的test包结合junit4进行测试。
- springboot项目中使用MockMvc 进行测试
- 使用spring提供的测试功能结合JUnit4进行单元测试
- 使用junit4测试spring项目中service方法
- 在项目中使用Hibernate进行大数据量的性能测试,有一些总结(转贴)
- 使用Microsoft Web Application Stress Tool进行Web项目压力测试
- eclipse+maven3+jUnit4+spring如何测试的同时进行debug
- Spring依赖注入——java项目中使用spring注解方式进行注入
- 使用selenium进行web测试项目框架
- 使用nose 进行Python项目的自动化测试
- 使用Drozer进行安全测试(Drozer github上开源项目)
- 使用MyEclipse开发Web项目并进行发布,运行,测试和调试
- JUnit4 使用注解(元注释)进行测试
- Spring高级程序设计 21 使用Spring进行测试
- C++ VS 2008中ATL的创建,使用。并在C++项目中进行调用测试
- 使用Spring的测试机制进行集成测试
- 在项目中使用Hibernate进行大数据量的性能测试,有一些总结(转贴)
- JUnit4 使用注解(元注释)进行测试
- Spring-Context之二:使用Spring提供的测试框架进行测试
- 在Maven+Spring项目中使用Node.js的Gulp进行前端自动化构建