【发布时间】:2022-02-03 20:01:10
【问题描述】:
我有一类 jUnit 5 测试不允许在主管道中运行(出于多种原因)。为了在管道中禁用这些测试但在开发人员机器上工作,我为测试类引入了@DisabledIfEnvironmentVariable(效果很好):
@DisabledIfEnvironmentVariable(named = "USER", matches = "(.*jenkins.*|.*tomcat.*)")
@SpringBootTest(classes = {BigApplication.class}, webEnvironment = RANDOM_PORT)
class LongRunningApplicationTest { ... }
如果我想在某个场合运行测试类,如何覆盖@DisabledIfEnvironmentVariable?
我尝试添加 @EnabledIfEnvironmentVariable 希望它会覆盖 @DisabledIfEnvironmentVariable 注释,因此为我提供了一种方便的方式来偶尔在管道中运行测试:
@EnabledIfEnvironmentVariable(named = "applicationTest", matches = "true")
@DisabledIfEnvironmentVariable(named = "USER", matches = "(.*jenkins.*|.*tomcat.*)")
@SpringBootTest(classes = {BigApplication.class}, webEnvironment = RANDOM_PORT)
class LongRunningApplicationTest { ... }
但是上述方法不起作用。有没有办法覆盖@DisabledIf...?
【问题讨论】: