试运行已完成至提早

时间:2018-07-27 13:24:59

标签: 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个)时,测试运行就结束得太早了。我收到消息:

  

运行的总测试次数:25,失败次数:0,跳过次数:0

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

我不明白为什么我太早完成比赛。有人可以帮忙吗?

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

1 个答案:

答案 0 :(得分:1)

我误解了属性time-out。设置另一个属性parallel="classes"时,将为整个类而不是方法设置超时。

我的一些测试用例的执行时间很高。对于具有多个测试用例的一类,超时触发得太早。自从第一次达到超时以来,我所有类的所有测试都被TestNG中止。

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