0
我正在嘗試使用testNG執行一些測試。該測試方法接受來自dataProviderClass的對象。我想在測試運行時打印對象的名稱。我使用了ItestListenrs,但這只是打印測試函數的名稱而不是其中的Object。如何在testNG中自定義合格/失敗測試報告
SampleTest.java:
package com.abc;
import org.testng.annotations.Listeners;
import org.testng.annotations.Test;
@Listeners({ com.mindtree.MyListener.class})
public class SampleTest {
@Test(dataProviderClass = templateObject.class)
public void SampleTest() throws Exception{
//do some assertion on Object values;
}
}
MyListener.java:
package com.abc;
import org.testng.ITestResult;
import org.testng.TestListenerAdapter;
public class MyListener extends TestListenerAdapter {
private int m_count = 0;
@Override
public void onTestFailure(ITestResult tr) {
log("Fail");
}
@Override
public void onTestSkipped(ITestResult tr) {
log("Skipped");
}
@Override
public void onTestSuccess(ITestResult tr) {
String className = tr.getMethod().getTestClass().getName();
System.out.println(className);
## WANT TO PRINT HERE THE TESTCASE OBJECT NAME
}
private void log(String string) {
System.out.print(string);
if (++m_count % 40 == 0) {
System.out.println("");
}
}
}
所以目前輸出來像通過:SampleTest 但我想輸出到像PASSED :SampleTest_Object.getStringName()。