TestNG如何修改運行結果(通過使用監聽器和報表器,可以很輕松的生成自己的TestNG報表)


  • 監聽器 實現接口 org.testng.ITestListener ,並且會在測試開始、通過、失敗等時刻實時通知
  • 報告器 實現接口 org.testng.IReporter ,並且當整個測試運行完畢之后才會通知。IReporter 接受一個對象列表,這些對象描述整個測試運行的情況

例如,如果你想要生成一個PDF報告,那么就不需要實時通知,所以用 IReporter。如果需要寫一個實時報告,例如用在GUI上,還要在每次測試時(下面會有例子和解釋)有進度條或者文本報告顯示點 ("."),那么 ITestListener 是你最好的選擇。但這兩種方式,都只能支持testng命令行運行時添加-listener命令

下面以org.testng.ITestListener舉例:

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("");
    }
  }
} 

 使用的時候java org.testng.TestNG -listener com.test.DotTestListener testng.xml

這樣就能在每個測試函數運行完后對測試結果進行更改。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM