/**
SpringRunner对于一个别名SpringJUnit4ClassRunner 。
要使用这个类,只需使用@RunWith(SpringRunner.class)注释一个基于 JUnit 4 的测试类。
如果您想将 Spring TestContext Framework 与其他运行器一起使用,请使用org.springframework.test.context.junit4.rules.SpringClassRule和org.springframework.test.context.junit4.rules.SpringMethodRule 。
注意:此类需要 JUnit 4.12 或更高版本。
**/
public final class SpringRunner extends SpringJUnit4ClassRunner {
/**
* Construct a new {@code SpringRunner} and initialize a
* {@link org.springframework.test.context.TestContextManager TestContextManager}
* to provide Spring testing functionality to standard JUnit 4 tests.
* @param clazz the test class to be run
* @see #createTestContextManager(Class)
*/
public SpringRunner(Class<?> clazz) throws InitializationError {
super(clazz);
}
}
public class SpringJUnit4ClassRunner extends BlockJUnit4ClassRunner {
//构造方法
public SpringJUnit4ClassRunner(Class<?> clazz) throws InitializationError {
super(clazz);
if (logger.isDebugEnabled()) {
logger.debug("SpringJUnit4ClassRunner constructor called with [" + clazz + "]");
}
ensureSpringRulesAreNotPresent(clazz);
this.testContextManager = createTestContextManager(clazz);
}
}
区别 | SpringRunner | SpringJUnit4ClassRunner |
---|---|---|
JUnit版本 | 4.12以上 | 没有要求 |
是否final类型 | 是 | 不是 |
继承关系 | 继承SpringJUnit4ClassRunner | 是SpringRunner的父类 |
使用上JUnit4.12或更高版本以上SpringRunner,SpringJUnit4ClassRunner都可以使用 。但是推荐使用SpringRunner,final类型,安全。
JUnit4.12以下版本就只能使用SpringJUnit4ClassRunner