原文 http://thorndike.iteye.com/blog/263197
package test;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.runners.model.InitializationError;
import org.junit.runners.BlockJUnit4ClassRunner;
import org.springframework.test.context.TestContextManager;
public class SpringJUnit45ClassRunner extends BlockJUnit4ClassRunner {
private static final Log logger = LogFactory.getLog(SpringJUnit45ClassRunner.class);
private final TestContextManager testContextManager;
public SpringJUnit45ClassRunner(Class<?> clazz) throws InitializationError {
super(clazz);
if (logger.isDebugEnabled()) {
logger.debug("SpringJUnit45ClassRunner constructor called with [" + clazz + "].");
}
this.testContextManager = createTestContextManager(clazz);
}
protected Object createTest() throws Exception {
Object testInstance = super.createTest();
getTestContextManager().prepareTestInstance(testInstance);
return testInstance;
}
protected TestContextManager createTestContextManager(Class<?> clazz) {
return new TestContextManager(clazz);
}
protected final TestContextManager getTestContextManager() {
return this.testContextManager;
}
}
本文介绍了一个扩展自 BlockJUnit4ClassRunner 的 SpringJUnit45ClassRunner 类,该类用于整合 Spring 和 JUnit4.5 的测试环境。通过创建 TestContextManager 实例并为测试实例准备上下文,确保了在运行 JUnit 测试时能够正确加载 Spring 上下文。
1401

被折叠的 条评论
为什么被折叠?



