使用testng或任何其他框架进行持续测试

时间:2017-05-16 14:06:41

标签: testing automated-tests testng

我们的一个应用需要持续测试

让我们说我的样本测试类如下所示。

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或任何其他方法中配置它?

1 个答案:

答案 0 :(得分:2)

不,我不这么认为。作为TestNG套件xml文件执行的一部分包含的所有@Test方法都被视为一个执行批处理。 通过以您期望的方式包含RetryAnalyzer实现(受测试失败),可以重新运行测试。但是如果你正在查看通过CI发生的下一组执行,那么在当前执行完成之前它不会发生。