跳过TestNG测试执行期间抛出的具体异常

时间:2015-03-12 09:37:59

标签: java integration-testing testng

这与问题How to create own annotation for junit that will skip test if concrete exception was thrown during execution?有关,但与TestNG有关。

我寻求一种解决方案,将TestNG集成测试配置为在已知的基础结构异常列表中跳过(而不是失败),这些异常会偶尔出现。

在浏览TestNG代码后,我了解到使用IHookable或其他侦听器无法实现这一点。此外,TestNG与JUnit的@Rule TestRule对象没有任何相似之处。此外,使用所有基础结构例外来扩展TestNG的SkipException对我来说不是一个选择。

我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

实施IInvokedMethodListener并在afterInvocation方法中执行类似

的操作
public void afterInvocation(IInvokedMethod method, ITestResult testResult) {

if(testResult.getThrowable().getClass().equals(YourExceptionClass.class))
     testResult.setStatus(TestResult.SKIP);
}

在testng.xml中设置此侦听器,或者根据您正在执行测试。