我们的一个应用需要持续测试
让我们说我的样本测试类如下所示。
Class someClass {
@Test
public test_method1() {
//do something
//takes one minute to complete execution
}
@Test
public test_method2() {
//do something
//takes ten minutes to complete execution
}
@Test
public test_method3() {
//do something
//takes one minute to complete execution
}
}
我的testng.xml看起来像这样。
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="someSuite" parallel="tests">
<test name="someTest" parallel="methods" thread-count="3">
<classes>
<class name="someClass" />
</classes>
</test>
</suite>
让我们说每个测试方法都需要不同的时间才能完成执行。假设test_method1和test_method3需要1分钟才能完成,test_method2需要10分钟才能完成。
由于我的每个测试方法都需要不断测试,有没有办法在完成执行后立即运行test_method1和test_method3,而不是等待test_method2完成执行。有没有办法在testng或任何其他方法中配置它?
答案 0 :(得分:2)
不,我不这么认为。作为TestNG套件xml文件执行的一部分包含的所有@Test
方法都被视为一个执行批处理。
通过以您期望的方式包含RetryAnalyzer
实现(受测试失败),可以重新运行测试。但是如果你正在查看通过CI发生的下一组执行,那么在当前执行完成之前它不会发生。