我想用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并仍然保持并行性时,也会发生同样的情况。我自己的代码可能有问题。
答案 0 :(得分:1)
我误解了属性time-out
。设置另一个属性parallel="classes"
时,将为整个类而不是方法设置超时。
我的一些测试用例的执行时间很高。对于具有多个测试用例的一类,超时触发得太早。自从第一次达到超时以来,我所有类的所有测试都被TestNG中止。
希望我可以帮助其他人解决这个问题。