4
我有一个扩展BlockJUnit4ClassRunner的自定义测试运行器,我想获得在我的自定义测试运行器中的BlockJUnit4ClassRunner中实例化的测试类的实例。如何获取测试类实例JUnit从ClassRunner内部运行测试用例?
我有一个扩展BlockJUnit4ClassRunner的自定义测试运行器,我想获得在我的自定义测试运行器中的BlockJUnit4ClassRunner中实例化的测试类的实例。如何获取测试类实例JUnit从ClassRunner内部运行测试用例?
我想出了这一个。
您可以做的是在BlockJUnit4ClassRunner中覆盖createTest()
,并将super.createTest()
的结果传递给您选择的方法。例如:
public class CustomTestRunner extends AbstractTestRunner {
@Override
public abstract void prepareTest(final Object test) {
// have your way with the test object
}
}
public abstract class AbstractTestRunner extends BlockJUnit4ClassRunner {
@Override
public Object createTest() throws Exception {
Object test = super.createTest();
prepareTest(test);
return test;
}
public abstract void prepareTest(final Object test);
}