当我编写并执行测试时,看到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实现的吗?
答案 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("");
}
}
}