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);
}