常规的写法:
可以直接在junit测试类上写注解
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:config/spring.xml"})
public class ScheWebServiceImplTest{
@Test
public void testDoCheckQatStatus() {
System.out.println(123);
}
}
但是每个都写岂不是很low,AbstractJUnit4SpringContextTests 或 AbstractTransactionalJUnit4SpringContextTests,这两个类已经用@RunWith修饰了,所以我们来做一个测试的基类:
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
@ContextConfiguration(locations = {"classpath:config/spring.xml"})
public class BaseJunit extends AbstractJUnit4SpringContextTests{
}
这样以后再做junit测试类的时候,只需让测试类继承基类就可以了。
基类继承AbstractTransactionalJUnit4SpringTests:执行测试后不会改变数据库的内容,也就是说你测试的操作都会回滚回去
继承AbstractJUnit4SpringContextTests :则不会回滚,操作会直接影响数据库