TestNG / Junit在控制台

时间:2017-07-25 19:59:36

标签: java junit testng

当我编写并执行测试时,看到TestNG在终端上写的很多噪音让我感到非常分心:

[testng] ===============================================
[testng]     Mynamespace.Test
[testng]     Tests run: 4, Failures: 0, Skips: 0
[testng] ===============================================
[testng]
[testng] THIS:Foo(super=Foo(param=ABC1234567, name=null, param=null), id=-314151617)
[testng] PASSED: testAVeryCoolThing on testConstructor(mynamespace.SomeTest)
lines and lines like this...

我被使用(不是使用junit / testng)来获得这样的测试输出:

.......F....E.................................
..............................................
..............................................

所以基本上对于每个测试传递,写一个简单的点(它通过,我很高兴),对于失败和错误,等效的字母,然后以后只显示失败测试的输出。 这是用TestNG / JUnit实现的吗?

1 个答案:

答案 0 :(得分:1)

请阅读docs。 您需要覆盖TestListenerAdapter中的一些方法:(取自文档):

  

这是一个显示“。”的监听器。对于每次通过的测试,每次失败都是“F”,每次跳过都是“S”:

public class DotTestListener extends TestListenerAdapter {
  private int m_count = 0;

  @Override
  public void onTestFailure(ITestResult tr) {
    log("F");
  }

  @Override
  public void onTestSkipped(ITestResult tr) {
    log("S");
  }

  @Override
  public void onTestSuccess(ITestResult tr) {
    log(".");
  }

  private void log(String string) {
    System.out.print(string);
    if (++m_count % 40 == 0) {
      System.out.println("");
    }
  }

}