2012-07-16 163 views

回答

7

我想出了这一个。

您可以做的是在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); 
}