java - 试运行提前结束

标签 java testng

我想将测试运行从顺序运行切换为具有 5 个线程的并行(类级别)。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="testSuite" parallel="classes" thread-count="1" time-out="30000">
    <test name="testCase">
        <packages>
            <package name="com.package.path"/>
        </packages>
    </test>
</suite>

少量测试(15-20)一切正常。但是当我想运行更多/所有测试(大约 400 个)时,测试运行完成得太早了。我收到消息:

Total tests run: 25, Failures: 0, Skips: 0

但所有测试尚未完成。还有很多测试缺失。在控制台中我可以看到测试继续运行。测试断言通过并生成输出。

我不明白为什么我太早得到结束事件。有人可以帮忙吗?

更新: 当我将线程数减少到 1 并仍然保持并行性时,也会发生同样的情况。我自己的代码可能有一些问题。

最佳答案

我误解了属性超时。设置其他属性 parallel="classes" 时,为整个类而不是方法设置超时。

我的一些测试用例执行时间很长。对于一个具有多个这样的测试用例的类,超时触发得太早了。由于第一次超时,我在所有类中的所有测试都被 TestNG 中止了。

希望我可以帮助其他人解决这个问题。

关于java - 试运行提前结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51558954/

相关文章:

java - Selenium 点击功能没有失败

java - Java 运行时环境检测到 fatal error 。 EXCEPTION_ACCESS_VIOLATION 异常

java - 如何使用 WebDriver 和页面对象验证页面标题?

java - 拖动未修饰的 JFrame 并调整其大小

java - 如何将 NetBeans 项目导入 Eclipse,反之亦然?

java - 使用 TestNG 让每个测试方法在其自己的测试类实例中运行?

TestNG 重试失败的测试不会输出正确的测试结果

java - 查找 java.lang.OutOfMemoryError : Java heap space using Eclipse MAT 的根本原因

java - Jboss 7 log4j 配置 - JDBCAppender

java - @Range 在 spring mvc 中不起作用