位置:首頁 > Java技術 > TestNG教學 > TestNG自定義日誌記錄

TestNG自定義日誌記錄

我們此前讀TestNG的記錄和報告提供了不同的選項。現在,讓我們了解如何開始使用它們。首先,我們將編寫一個示例程序,我們將使用的ITestListener接口,以便進行記錄。

創建測試案例類

創建一個Java類為 SampleTest.java 在 C: > TestNG_WORKSPACE

import org.testng.Assert;
import org.testng.annotations.Test;

public class SampleTest {
    @Test
    public void testMethodOne(){
        Assert.assertTrue(true);
    }
	  
    @Test
    public void testMethodTwo(){
	Assert.assertTrue(false);
    }
	  
    @Test(dependsOnMethods={"testMethodTwo"})
        public void testMethodThree(){
        Assert.assertTrue(true);
    }
}

前麵的測試類包含三種測試方法,其中testMethodOne andtestMethodThree將通過執行時,,而testMethodTwo是通過一個falseBoolean值斷言失敗。 assertTrue方法,該方法用於在測試中的真值條件。

創建自定義日誌記錄類

創建另一個新的類名為 CustomListener.java 在 C: > TestNG_WORKSPACE

import org.testng.ITestResult;
import org.testng.TestListenerAdapter;

public class CustomListener extends TestListenerAdapter{
    private int m_count = 0;
	 
    @Override
    public void onTestFailure(ITestResult tr) {
        log(tr.getName()+ "--Test method failed
");
    }
	 
    @Override
    public void onTestSkipped(ITestResult tr) {
        log(tr.getName()+ "--Test method skipped
");
    }
	 
    @Override
    public void onTestSuccess(ITestResult tr) {
        log(tr.getName()+ "--Test method success
");
    }
	 
    private void log(String string) {
        System.out.print(string);
        if (++m_count % 40 == 0) {
	    System.out.println("");
        }
    }

}

上述的類擴展TestListenerAdapter,空方法實現ITestListener。因此,不需要重寫其他方法從接口。如果你喜歡,可以直接實現這個接口。

創建 testng.xml

創建一個文件 testng.xml C: > TestNG_WORKSPACE 來執行測試用例

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Simple Logger Suite">
  <listeners>
    <listener class-name="CustomListener" />
  </listeners>

  <test name="Simple Logger test">
    <classes>
      <class name="SampleTest" />
    </classes>
  </test>
</suite>

編譯SampleTest,CustomListener類使用javac

C:TestNG_WORKSPACE>javac CustomListener.java SampleTest.java

現在運行 testng.xml.

C:TestNG_WORKSPACE>java -cp "C:TestNG_WORKSPACE" org.testng.TestNG testng.xml

驗證輸出

testMethodOne--Test method success
testMethodTwo--Test method failed
testMethodThree--Test method skipped

===============================================
Simple Logger Suite
Total tests run: 3, Failures: 1, Skips: 1
===============================================

我們創建了一個自定義logger類,其中實現ITestListener接口和依附於作為監聽器的TestNG測試套件。 TestNG的測試開始時,測試失敗,在測試成功,所以這個監聽器類的方法調用。可以實現多個聽眾,並將其添加到測試套件執行,TestNG的將調用所有偵聽器連接到測試套件。

當我們需要看到的連續狀態的測試執行,測試時得到執行,主要用於記錄監聽器。