如何有效地使用 TestNG throw new SkipException()?有没有人有例子?
我尝试在测试方法开始时抛出此异常,但它破坏了拆解、设置、方法等,并通过导致一些(不是全部)后续测试也被跳过而造成附带损害,并在 TestNG HTML 报告中显示一堆垃圾。
我使用 TestNG 来运行我的单元测试,并且我已经知道如何使用 @Test 注释的选项来禁用测试。我希望我的测试在我的报告中显示为“存在”,但不计入最终结果。换句话说,如果有一个 @Test 注释选项来“跳过”测试,那就太好了。这样我就可以将测试标记为被忽略的排序,而不会使测试从所有测试列表中消失。
是否需要在@Test 运行之前在@BeforeXXX 中抛出“SkipException”?这或许可以解释我所看到的怪异现象。
最佳答案
是的,我的猜测是正确的。在@Test 中抛出异常不起作用,在@BeforeTest 中抛出异常也不起作用,而我正在按类使用并行。如果这样做,异常将破坏测试设置,并且您的 TestNG 报告将在所有相关的@Configuration 方法中显示异常,甚至可能导致后续测试失败而不会被跳过。
但是,当我将它放在@BeforeMethod 中时,它会完美运行。很高兴我能弄明白。 documentation of the class建议它可以在任何 @Configuration 注释的方法中工作,但我正在做的事情不允许我这样做。
@BeforeMethod
public void beforeMethod() {
throw new SkipException("Testing skip.");
}
关于unit-testing - 我如何使用 TestNG SkipException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21591712/