unit-testing - 如何使用TestNG SkipException?

原文 标签 unit-testing exception testing testng

如何使用TestNG 有效地抛出新的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/

相关文章:

c# - 为什么ConfigureAwait(true)在单元测试中不起作用?

java - ClassNotFoundException 神奇地未被选中

testing - 浏览器兼容性测试

c# - 抛出了 'System.OutOfMemoryException' 类型的异常。 C# 使用 IDataReader 时

testing - 如何在每个拉取请求中运行特定测试?

android - 为 Gradle 设置 Deckard。 Robolectric 测试错误

java - 如何获取Java中不同单词的数量?

c# - 主菜单中缺少 Visual Studio TEST

c# - NUnit 或 Fluent 断言测试引用相等性?

eclipse - org.codehaus.groovy.control.MultipleCompilationErrorsException : startup failed: Script7. groovy:1:无法解析类