TestNG执行的日志ITestListener与结果IReporter

TestNG执行完毕后,默认会将测试结果保存到启动目录下的index.html文件中。该文件中通过链接等指向其他必要的HTML文件或TXT文件。

TestNG是通过Listeners或者Reporters生成测试报告。

  • Listeners,即org.testng.ITestListener的实现,能够在测试执行过程中发出各种测试结果的事件;
  • Reporters,即org.testng.IReporter的实现,能够在所有的测试套件执行完毕后发出测试结果的事件,其中包括多个描述测试结果的对象。

1. ITestListener

ITestListener是所有监听器中最常用的一个,也是最重要的一个。该接口的继承关系如下图所示:

TestNG执行的日志ITestListener与结果IReporter_第1张图片

注意,这里有个TestListenerAdapter实现类,该类以空方法(即未实际实现)实现了ITestListener接口的全部方法。编写ITestListener接口的实现时,为了避免实现不必要的接口方法,我们往往只要扩展TestListenerAdapter类即可。事实上,除了JUnitXMLReporter之外,其他几个***Reporter都是扩展自TestListenerAdapter类。

JUnitXMLReporter就是一个JUnit的XML格式的报告生成器。


ITestListener接口中定义的方法如下:

TestNG执行的日志ITestListener与结果IReporter_第2张图片


2.IReporter

IReporter接口也是继承自ITestNGListener接口,用于生成报表。该接口中只定义了一个方法:

void generateReport(java.util.List xmlSuites, java.util.List suites, java.lang.String outputDirectory);

该方法可以在指定目录下为指定的测试套件生成报表。

该方法在TestNG执行完所有的测试套件后被调用,方法中的参数包含所有的测试结果。


你可能感兴趣的:(TestNG,Test,Listener,Reporter)