java - testng 中跳过的测试的测试用例计数不正确

标签 java testng

我使用以下代码来获取跳过的测试用例计数

public void onFinish(ITestContext context) {
    skippedTests =context.getSkippedTests().getAllResults();

   for (ITestResult temp : skippedTests) {
            ITestNGMethod method = temp.getMethod();
            if (context.getSkippedTests().getResults(method).size() > 1) {
                skippedTests.remove(temp);} else {
                if (context.getPassedTests().getResults(method).size() > 0) {
                    skippedTests.remove(temp);
                }
                else{if(context.getFailedTests().getResults(method).size() > 0){
                skippedTests.remove(temp);
               }
                }
            }
        }

但是很多时候,当套件完全执行时,跳过的测试用例计数会给出所有跳过的方法的计数(即包括 beforeclass 跳过的、before 方法跳过的等),而不仅仅是跳过的测试用例的计数。

请让我知道我缺少什么。

最佳答案

您可以在最后从您的集合中过滤掉所有非测试方法,如下所示

public void onFinish(ITestContext context) {
    Set<ITestResult> skippedTests = context.getSkippedTests().getAllResults();

    for (ITestResult temp : skippedTests) {
        ITestNGMethod method = temp.getMethod();
        //If the method is not a @Test annotated method, then lets remove that from the skipped lists
        if (!method.isTest()) {
            skippedTests.remove(temp);
            continue;
        }
        if (context.getSkippedTests().getResults(method).size() > 1) {
            skippedTests.remove(temp);
        } else {
            if (context.getPassedTests().getResults(method).size() > 0) {
                skippedTests.remove(temp);
            } else {
                if (context.getFailedTests().getResults(method).size() > 0) {
                    skippedTests.remove(temp);
                }
            }
        }
    }
}

关于java - testng 中跳过的测试的测试用例计数不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45998977/

相关文章:

java - 99% vs 1% 在代码编译或构建方面

java - 从客户端 gwt 读取 web.xml init-params

jenkins - 从Gradle运行任务通知Jenkins有关TestNG测试失败的信息,以将构建标记为“失败”

java - 有什么方法可以知道 FileReader 指向的文件吗?

java - 在struts的forward标签中添加点是什么意思?

java - 从HIVE表中复制副本,需要写出删除的记录并获取计数

java - Jain Sip - 如何创建没有 @ 的 SipUri?

java - TestNG 是否有像 SpringJUnit4ClassRunner 这样的运行者

java - 将 Selenium 与 TestNg 一起使用,TestListenerAdapter 正在混合测试,驱动程序似乎在测试类之间共享

java - 我们可以在任何测试类中使用 testng 监听器中定义的变量吗?