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()。