TestNG/Junit 在控制台中配置输出样式



当我编写和执行测试时,看到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可以实现的吗?

只需阅读文档。 您需要覆盖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("");
}
}

}

最新更新