Maven管理的Spring Web项目集成JUnit单元测试

Malak ·
更新时间:2024-11-11
· 569 次阅读

  JUnit是一套的单元测试框架,而Maven是的Java项目构建和管理工具,两者结合可以很方便地对项目进行自动化测试。   一般的简单Java应用不多说了,一些框架会提供针对junit的扩展,使得测试变得更容易,例如Spring官方提供了spring-test,用于提供获取ApplicationContext等方面的支持。   首先要做的是,改变JUnit的实际执行类,将默认的执行类Suite替换为Spring提供的SpringJUnit4ClassRunner,也是在测试类前面加上一个注解:   @RunWith(SpringJUnit4ClassRunner.class)   然后,我们需要告诉这个测试类Spring配置文件的位置: @ContextConfiguration(locations={"classpath:applicationContext.xml", "classpath:applicationContext-security.xml","file:src/main/webapp/WEB-INF/servlet.xml"})   笔者这里展示了两种配置文件路径的写法。前两个是spring常见的配置文件,放在classpath根目录下,而“file”开头的路径是完全限定路径,默认是相对于实际的项目路径的,例如笔者使用Eclipse进行开发,这个路径的写法是相对于项目文件所在文件夹的根目录的。该写法适用于没有直接放在classpath下的一些web相关的配置文件,例如本例展示的是放在常见的WEB-INF目录下的一个文件。   基于以上描述,笔者写了一个Spring测试基类: package com.test.basic; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Before; import org.junit.runner.RunWith; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations={/*"file:src/main/webapp/WEB-INF/wxiot-servlet.xml",*/ "classpath:applicationContext.xml", "classpath:applicationContext-security.xml"}) public classTestBase { protected Log logger = LogFactory.getLog(TestBase.class); @Before //一些公用的“初始化”代码 public void before(){ } }



Web Maven spring junit单元测试 junit 测试

需要 登录 后方可回复, 如果你还没有账号请 注册新账号