如何并行 运行 @Before 注释?
How do I run @Before annotations in parallel?
我有几个测试 类 每个测试 @BeforeClass
。
我在我的 xml 中并行添加了 运行 选项,但 BeforeClass 方法似乎按顺序 运行。
如何配置它们,使它们同时 运行?
<suite name = "TestAllPersonTypes">
<test name = "TestEmployer" parallel="methods" thread-count="5">
<classes>
<class name = "com.mobile.tests.empr.ValidateEmployerBusinessA"/>
</classes>
</test>
<test name = "TestEmployee" parallel="methods" thread-count="5">
<classes>
<class name = "com.mobile.tests.empe.ValidateEmployeeBusinessA"/>
</classes>
</test>
<test name = "TestAgent" parallel="methods" thread-count="5">
<classes>
<class name = "com.mobile.tests.agnt.ValidateAgentBusinessA"/>
</classes>
</test>
</suite>
问题是您要为每个测试指定并行度。
您基本上是在告诉每个测试 运行 它的方法是并行的。
您需要做的是让您的整个套件并行 运行 您的测试。这样,每个 class 的每个方法(不仅是 @Before 注释)都将 运行 并行。
您可以通过从测试中删除并行化并添加到套件中来执行此操作:
<test name = "TestEmployer">
<classes>
<class name = "com.mobile.tests.empr.ValidateEmployerBusinessA"/>
</classes>
</test>
<test name = "TestEmployee">
<classes>
<class name = "com.mobile.tests.empe.ValidateEmployeeBusinessA"/>
</classes>
</test>
<test name = "TestAgent">
<classes>
<class name = "com.mobile.tests.agnt.ValidateAgentBusinessA"/>
</classes>
</test>
中获得更多信息
我有几个测试 类 每个测试 @BeforeClass
。
我在我的 xml 中并行添加了 运行 选项,但 BeforeClass 方法似乎按顺序 运行。
如何配置它们,使它们同时 运行?
<suite name = "TestAllPersonTypes">
<test name = "TestEmployer" parallel="methods" thread-count="5">
<classes>
<class name = "com.mobile.tests.empr.ValidateEmployerBusinessA"/>
</classes>
</test>
<test name = "TestEmployee" parallel="methods" thread-count="5">
<classes>
<class name = "com.mobile.tests.empe.ValidateEmployeeBusinessA"/>
</classes>
</test>
<test name = "TestAgent" parallel="methods" thread-count="5">
<classes>
<class name = "com.mobile.tests.agnt.ValidateAgentBusinessA"/>
</classes>
</test>
</suite>
问题是您要为每个测试指定并行度。 您基本上是在告诉每个测试 运行 它的方法是并行的。
您需要做的是让您的整个套件并行 运行 您的测试。这样,每个 class 的每个方法(不仅是 @Before 注释)都将 运行 并行。
您可以通过从测试中删除并行化并添加到套件中来执行此操作:
<test name = "TestEmployer">
<classes>
<class name = "com.mobile.tests.empr.ValidateEmployerBusinessA"/>
</classes>
</test>
<test name = "TestEmployee">
<classes>
<class name = "com.mobile.tests.empe.ValidateEmployeeBusinessA"/>
</classes>
</test>
<test name = "TestAgent">
<classes>
<class name = "com.mobile.tests.agnt.ValidateAgentBusinessA"/>
</classes>
</test>
中获得更多信息