我有 4 个 @Test 方法,每个方法都想运行 3 次。我想在 12 个线程中同时执行这一切。
我创建了一个这样的 testng.xml 文件
<suite name="Suite1" verbose="1" parallel="methods" thread-count="100">
<test name="Test1">
<classes>
<class name="Tests"/>
</classes>
</test>
<test name="Test2">
<classes>
<class name="Tests"/>
</classes>
</test>
<test name="Test3">
<classes>
<class name="Tests"/>
</classes>
</test>
</suite>
如果我设置 parallel="methods"TestNG 在 4 个线程中为 Test1 执行 4 个测试方法,然后为 Test2 执行相同的操作,然后为 Test3 执行相同的操作。但我不想在运行 Test2 之前等待 Test1 完成。 TestNG 能够同时运行 Test1、Test2 和 Test3(如果 parallel="tests"),但在这种情况下,它会为每个测试依次执行 4 个测试方法。
有没有办法告诉 TestNG 完全不等待并在单独的线程中启动所有测试的所有方法?
最佳答案
让套件运行并行测试,然后每个测试都可以运行并行方法。像这样的东西:
<suite name="Suite1" verbose="1" parallel="tests" thread-count="10">
<test name="Test1" parallel="methods" thread-count="4">
<classes>
<class name="Tests"/>
</classes>
</test>
<test name="Test2" parallel="methods" thread-count="4">
<classes>
<class name="Tests"/>
</classes>
</test>
<test name="Test3" parallel="methods" thread-count="4">
<classes>
<class name="Tests"/>
</classes>
</test>
</suite>
关于TestNG并行执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19211726/