`

spring整合junit使用记录

    博客分类:
  • java
 
阅读更多
参考地址:
[url] http://www.cnblogs.com/rainisic/archive/2012/01/22/spring_test_framework.html[/url]

1加入所需要的包
org.springframework.test-3.0.7.RELEASE.jar
JUnit 4
以及项目所需要的包
spring的东西在这里下载http://www.springsource.org/download
junit的东西在这里下载https://github.com/KentBeck/junit/downloads
2测试类应该继承与 AbstractJUnit4SpringContextTests 或 AbstractTransactionalJUnit4SpringContextTests

看具体的例子,
首先写一个BaseTest类,然后再写一个测试类,用测试类来继承BaseTest类,这样写的目的是避免每次写测试类都要加例如下面的东西,特别是如果需要加载的文件比较多时,这样写更好一点
 @RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:beans.xml")


BaseTest
 import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:beans.xml")
public class BaseTest extends AbstractJUnit4SpringContextTests {
	
	public BaseTest() {
		super();
	}
}


下面是测试类
Service1Test
 import javax.annotation.Resource;

import org.junit.Test;

import com.test.BaseTest;


public class Service1Test extends BaseTest{
	@Resource
	private Service1 service1;
	
	@Test
	public void testMethod1(){
		service1.method1();
	}
	@Test
	public void testMethod2(){
		service1.method2();
	}
}


这样这个测试类就可以直接用junit来运行进行测试了。

备注:junit最好用带hamcrest版本的不然可能会出现下面的错误
 java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing

然后spring中用到的包也最好是统一的某一个版本,不要测试的是一个版本,另外的是其它的版本,不然容易出现错误


0
3
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics