我用的是myeclipse 10,之前一直想要用junit来测试含有spring注解或动态注入的类方法,可是由于在网上找的相关的jar文件进行测试,老是报这样那样的错误,今天无意中发现myeclipse本就自带了 spring基于junit的测试框架,而且非常好用。
1.废话不多说,首先添加 测试框架的 类库:项目-->buildpath-->addlibraries-->myelipse libraries-->Spring 2.5 testing support libraries(我用的是2.5,具体版本由你自己项目spring版本来选择)-->finish。这时测试框架所有相关的jar包都添加到了项目中了。
此时项目中多了这两个类库
2.开始写我们的测试用例.上代码:
package com.m6699.cyt.dao.jdbc.oracle; import static org.junit.Assert.*; import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(value=SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath*:/spring.xml","classpath*:/spring-security.xml","classpath*:/spring-quartz.xml"}) public class JdbcOracleOrderDaoTest { @Test
public void testChangeState() {
System.out.println("拟美,终于可以junit测试了");
//fail("Not yet implemented"); } }
注意:@RunWith
@ContextConfiguration
相当于加载了spring 的配置文件,和测试类。
这两个注解添加与详细用法,网上相关的文章都写了很多,不再累述。
3.这时将我们的测试用例运行起来,显示绿色通过,支持spring注入的junit也就成功运行了。(其中可能会遇到问题,比如加载时发现的@postconstruct的类,无法加载注入,这时注释掉这个就好了 )
@postconstrutct的用处还蛮大的,详细见:http://blog.csdn.net/yaerfeng/article/details/8447530