Java 如何动态添加/删除测试规则?

Java 如何动态添加/删除测试规则?,java,unit-testing,junit,rule,Java,Unit Testing,Junit,Rule,我已经编写了一个TomcatRunner,并将其用作。那很好。它在执行测试类之前启动tomcat,然后关闭它 现在,我想在另一个场景中使用相同的integratoin单元测试,在这个场景中,不需要启动/停止tomcat,因为可以假设它已经在运行 是否有方法根据系统属性或某些其他配置信息动态添加/删除规则 public class MyTest { /** * I'd like to add/remove this based on configuration values.

我已经编写了一个
TomcatRunner
,并将其用作。那很好。它在执行测试类之前启动tomcat,然后关闭它

现在,我想在另一个场景中使用相同的integratoin单元测试,在这个场景中,不需要启动/停止tomcat,因为可以假设它已经在运行

是否有方法根据系统属性或某些其他配置信息动态添加/删除规则

public class MyTest {

    /**
     * I'd like to add/remove this based on configuration values.
     */
    @ClassRule
    public static final TomcatRunner tomcatRunner = new TomcatRunner();

    @Test
    public void thatClientCallWorksAsExpected() throws Exception {
        // test code
    }
}

“在其他场景中使用相同的集成单元测试”是什么意思?是否要使用相同的测试代码?是。但是它不应该有规则,因为tomcat总是在运行。为什么不在
TomcatRunner
中执行
System.getProperty(“tomcat\u running”)
或类似的操作呢?这就是我实际上在做的。但如果不需要的话,我宁愿把它放在那里。