不幸的是,没有简单的方法可以直接在 TestNG 中获得以下任何一个-
- 不。通过的测试用例
- 成功率
这是解决方法,我这样做是为了获得通过百分比。如您所见,运行摘要打印以下内容,包括 Dataprovider 测试的计数 -
Total tests run: 4, Passes: 1, Failures: 3, Skips: 0
所以总测试用例=通过计数+失败计数+跳过计数
所以我写了一个这样的方法-
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("################### TESTS STARTED ##################### ");
TestListenerAdapter tla = new TestListenerAdapter();
TestNG testng = new TestNG();
testng.setTestClasses(new Class[] { PassCSVDatatoDataProvider.class });
testng.addListener(tla);
testng.run();
float Totalcount = (tla.getFailedTests().size()+tla.getPassedTests().size()+tla.getSkippedTests().size());
float Passpercentage = (tla.getPassedTests().size()/Totalcount*100);
System.out.println("PASS PERCENTAGE - "+Passpercentage +"%");
System.out.println(tla.getFailedTests().size()+ " TESTS FAILED ! ");
System.out.println("################### END ##################### ");
}
TestNG 控制台输出
################### TESTS STARTED #####################
=============================================== Command line suite Total tests run: 4, Passes: 1, Failures: 3, Skips: 0
===============================================
PASS PERCENTAGE - 25.0%
3 TESTS FAILED !
################### END #####################