在Testng中使用数据提供者和并行,如何在给定测试的同一线程中的方法之前,之后的方法和测试之后运行。

时间:2016-02-04 08:47:22

标签: java multithreading parallel-processing testng testng-dataprovider

我通过testNG xml运行我的测试套件。这是xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" data-provider-thread-count="4" parallel="methods">
  <test name="Test" group-by-instances="true" parallel="instances">
    <classes>
      <class name="packageName"></class>
    </classes>
  </test> <!-- Test -->
</suite> <!-- Suite -->

我正在使用注释为parallel = true的数据提供程序。我喜欢2000个测试用例,它们循环运行一个具有不同数据的测试用例。当测试不平行时,测试运行良好。 当我尝试并行运行测试时,在4个线程中,before和after方法在同一个线程中执行,但是我的测试方法被分配了完全不同的线程。 我如何确保对于测试用例,在方法之前,在方法和测试之后都在同一个线程中运行测试实例。

1 个答案:

答案 0 :(得分:0)

你尝试过singleThreaded吗?如下例

@Test(singleThreaded = true)

 public class DemoForMethodOrdering {

  ///implementation here
}

请在testng doc here

中找到有关singleThreaded的信息

谢谢你, 穆拉利