Testing TestNG:打印失败,已通过,@aftersuite中执行的测试总数

Testing TestNG:打印失败,已通过,@aftersuite中执行的测试总数,testing,testng,Testing,Testng,是否有任何方法可以打印@aftersuite中执行的失败、通过的测试总数 我知道这可以通过覆盖ITestListener来实现,但是有没有直接的方法可以在@aftersuite中得到计数 提前感谢您的帮助。下面的示例应该说明如何做到这一点 导入org.testng.Assert; 导入org.testng.ISuite; 导入org.testng.ISuiteResult; 导入org.testng.ITestContext; 导入org.testng.ITestResult; 导入org.te

是否有任何方法可以打印@aftersuite中执行的失败、通过的测试总数

我知道这可以通过覆盖ITestListener来实现,但是有没有直接的方法可以在@aftersuite中得到计数


提前感谢您的帮助。

下面的示例应该说明如何做到这一点

导入org.testng.Assert; 导入org.testng.ISuite; 导入org.testng.ISuiteResult; 导入org.testng.ITestContext; 导入org.testng.ITestResult; 导入org.testng.annotations.AfterSuite; 导入org.testng.annotations.Test; 导入java.util.Collection; 公共类TestClassSample{ @试验 public void passingTestMethod{} @试验 公共失效测试方法{ 断言失败; } @事后 public void AfteruiteTestContext上下文{ printSuiteResultscontext.getSuite; } 私有void打印套件结果套件{ 集合suiteResults=suite.getResults.values; 对于ISuiteResult suiteResult:suiteResults{ printAllResultssuiteResult.getTestContext; } } 私有void PrintAllResultSiteContext上下文{ System.err.PrintLn通过的打印测试。; PrintAllResultContext.getPassedTests.getAllResults; System.err.PrintLn打印测试失败。; PrintAllResultContext.getFailedTests.getAllResults; } 私有void PrintAllResultCollection结果{ 对于ITestResult结果:结果{ 打印结果结果; } } 私有void printResultitesResult结果{ System.err.printlnMethod Name:+result.getMethod.getMethodName+; } } 以下是输出:

java.lang.AssertionError:null 位于org.testng.Assert.failAssert.java:93 在org.testng.Assert.failAssert.java:100 位于com.rationalemotions.stackoverflow.qn46967666.TestClassSample.failingTestMethodTestClassSample.java:21 在sun.reflect.NativeMethodAccessorImpl.invoke0Native方法中 位于sun.reflect.NativeMethodAccessorImpl.invokeNativeMethodAccessorImpl.java:62 在sun.reflect.DelegatingMethodAccessorImpl.invokeDelegatingMethodAccessorImpl.java:43 位于java.lang.reflect.Method.invokeMethod.java:498 位于org.testng.internal.MethodInvocationHelper.invokeMethodMethodInvocationHelper.java:108 位于org.testng.internal.Invoker.invokeMethodInvoker.java:669 位于org.testng.internal.Invoker.invokeTestMethodInvoker.java:877 位于org.testng.internal.Invoker.invokeTestMethodsInvoker.java:1201 位于org.testng.internal.TestMethodWorker.invokeTestMethodTestMethodWorker.java:125 位于org.testng.internal.TestMethodWorker.runTestMethodWorker.java:109 位于org.testng.TestRunner.privaterunterstrunner.java:776 位于org.testng.TestRunner.runTestRunner.java:634 位于org.testng.SuiteRunner.runTestSuiteRunner.java:426 位于org.testng.SuiteRunner.runSequentialySuiteRunner.java:421 位于org.testng.SuiteRunner.privateRunner.java:386 位于org.testng.SuiteRunner.runSuiteRunner.java:334 位于org.testng.SuiteRunnerWorker.runSuiteSuiteRunnerWorker.java:52 位于org.testng.SuiteRunnerWorker.runSuiteRunnerWorker.java:86 位于org.testng.testng.runSuitesSequentiallyTestNG.java:1318 位于org.testng.testng.runSuitesLocallyTestNG.java:1243 位于org.testng.testng.runSuitesTestNG.java:1161 位于org.testng.testng.runTestNG.java:1129 位于org.testng.IDEARemoteTestNG.runIDEARemoteTestNG.java:72 位于org.testng.RemoteTestNGStarter.mainRemoteTestNGStarter.java:123 打印通过的测试。 方法名称:passingTestMethod 打印失败的测试。 方法名称:failingTestMethod =============================================== 默认套件 运行的测试总数:2,失败:1,跳过:0 ===============================================