我很想知道 TestNG 中的默认侦听器是什么。我在 Ant 任务上看到了一个用于 useDefaultListeners 的 bool 属性,但我想知道这些是什么以及在哪里可以找到它们。
3 回答
有四个默认记者:
http://code.google.com/p/testng/source/browse/trunk/src/org/testng/reporters/SuiteHTMLReporter.java
创建 HTML 报告的主要报告者。
http://code.google.com/p/testng/source/browse/trunk/src/org/testng/reporters/FailedReporter.java
这位记者创建了 testng-failed.xml
http://code.google.com/p/testng/source/browse/trunk/src/org/testng/reporters/XMLReporter.java
此报告器生成一个 XML 文件,该文件捕获此测试运行的完整描述。此 XML 文件被其他工具用于进一步生成(PDF 等)。
http://code.google.com/p/testng/source/browse/trunk/src/org/testng/reporters/EmailableReporter.java
该报告者创建了一个适合通过电子邮件发送的文件,无论是附加的还是内联的。
希望这可以帮助。
——
塞德里克
这些似乎经常改变。答案似乎是看源码 ——initializeDefaultListeners()
private void initializeDefaultListeners() {
m_testListeners.add(new ExitCodeListener(this));
if (m_useDefaultListeners) {
addReporter(SuiteHTMLReporter.class);
addReporter(FailedReporter.class);
addReporter(XMLReporter.class);
addReporter(EmailableReporter.class);
addReporter(JUnitReportReporter.class);
}
}
当我尝试改变这个(删除SuiteHTMLReporter
)时,重要的是要保持听众和记者之间的区别,并保持记者的顺序。
(至少)缺少一位非常有用的记者:
- org.testng.reporters.TestHTMLReporter
报告者在左侧的“结果”链接中创建链接到 html 报告者结果中的 suitename/suitename.html。