java - 我如何从 ClassRunner 中获取 JUnit 正在运行测试用例的测试类实例?

标签 java reflection junit

我有一个扩展 BlockJUnit4ClassRunner 的自定义测试运行器,我想在我的自定义测试运行器中获取在 BlockJUnit4ClassRunner 中实例化的测试类的实例。

最佳答案

我想通了。

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

关于java - 我如何从 ClassRunner 中获取 JUnit 正在运行测试用例的测试类实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11510460/

相关文章:

java - 针对特定包的 Scala/Java 分析

java - JWT 解密,但抛出 mac check failed 错误

scala - 是否有可能实现(在 Scala 中)自动实现包装类方法的多态包装类?

java - 在 cucumber 测试期间无法执行目标 org.apache.maven.plugins :maven-surefire-plugin:2. 19.1 :test,

java - 使用 JUnit 在 Spring 中测试 CRUD 时获取同一行的多个 ID

java - 播放声音作为媒体/闹钟/铃声?

java - 在java中将本地时区转换为GMT

android - 如何从 android/internal/telephony/Phone.java 使用 getAvailableNetworks

Java 反射,getMethod()

java - 使用 jUnit 进行测试