显示SkipException错误

时间:2018-02-09 07:38:51

标签: java testng

我正在使用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");
}

2 个答案:

答案 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)。