如何根据条件禁用 TestNG 测试

2022-09-01 16:33:28

目前有没有办法根据条件禁用TestNG测试

我知道您目前可以在TestNG中禁用测试:

@Test(enabled=false, group={"blah"})
public void testCurrency(){
...
}

我想根据条件禁用相同的测试,但不知道如何。像这样:

@Test(enabled={isUk() ? false : true), group={"blah"})
public void testCurrency(){
...
}

任何人都知道这是否可能。


答案 1

一个更简单的选择是在检查条件的方法上使用@BeforeMethod注释。如果你想跳过测试,那么只需抛出一个SkipException。喜欢这个:

@BeforeMethod
protected void checkEnvironment() {
  if (!resourceAvailable) {
    throw new SkipException("Skipping tests because resource was not available.");
  }
}

答案 2

您有两种选择:

注释转换器将测试条件,然后覆盖@Test注释,以便在不满足条件时添加属性“enabled=false”。


推荐