如何跳过或忽略TestNG中的测试执行

时间:2015-11-02 11:52:51

标签: java testng

我正在使用TestNG在java中编写测试。

我想跳过或忽略在类文件中使用条件的所有类方法。

在红宝石中,我遵循了这个How to skip certain tests with Test::Unit

我怎么能用java做什么?

3 个答案:

答案 0 :(得分:5)

您可以使用注释@Test(enabled = false)

忽略测试方法

答案 1 :(得分:3)

如果假设不成立,您可以在测试中抛出SkipException,并且该机制足够灵活,甚至可以将测试标记为跳过或失败。 This article展示了如何在测试套件中以声明方式集成此方法。基本上,您使用@Assumes注释方法并使用自定义IInvokedMethodListener

或者(我不鼓励这个,但这是一个选项),如果你可以确定静态跳过什么,你可以动态生成XML规范并运行它。

答案 2 :(得分:3)

另一个解决方案是使用IAnnotationTransformers,然后像@Test(enabled = false)一样禁用测试。

public void transform(ITest annotation, Class testClass,
      Constructor testConstructor, Method testMethod) {
    if (...determine if the test should be disabled) {
        annotation.setEnable(false);
    }
}