我正在使用IInvokedMethodListener
成功跳过一些TestNG的测试用例,但它没有打印出我提供的错误消息。它显示"Test Ignored"
没有任何进一步的消息使调试变得困难。
有没有办法写入特定的测试用例控制台空间,指出其错误?
编辑 - 无法跳过测试。但是,消息不会显示在控制台上(在每个单独的测试用例中)。它只显示测试被忽略。我希望有一些有用的错误消息,以便将来更好的调试。
@Override
public void beforeInvocation(IInvokedMethod iInvokedMethod, ITestResult iTestResult) {
Class target = iInvokedMethod.getTestMethod().getInstance().getClass();
String targetName = target.getName();
... some processing logic to decide whether to skip
throw new SkipException("Throwing exception here to skip test");
}
答案 0 :(得分:0)
我遇到了同样的问题,并使用ITestListener解决了它。您应该实现onTestSkipped()方法。像这样:
@Override
public void onTestSkipped(ITestResult result) {
String message = result.getThrowable().getMessage();
log.info(message);
}
然后将此监听器添加到带有@Listeners批注的测试类中。
答案 1 :(得分:0)
这很烦人,我还没有找到解决方案,只是一种解决方法:我先打印消息然后调用 throw。我有一个方法 skipTest(message) 并在那里写出消息然后 throw(new SkipException)。