我正在使用TestNG在java中编写测试。
我想跳过或忽略在类文件中使用条件的所有类方法。
在红宝石中,我遵循了这个How to skip certain tests with Test::Unit
我怎么能用java做什么?
答案 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);
}
}