这与问题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
对我来说不是一个选择。
我错过了什么吗?
答案 0 :(得分:1)
实施IInvokedMethodListener并在afterInvocation方法中执行类似
的操作public void afterInvocation(IInvokedMethod method, ITestResult testResult) {
if(testResult.getThrowable().getClass().equals(YourExceptionClass.class))
testResult.setStatus(TestResult.SKIP);
}
在testng.xml中设置此侦听器,或者根据您正在执行测试。