只有在您的一个班级完成测试后,才能在班级并行度下运行测试

问题描述 投票:0回答:1

我陷入了一个非常独特的问题,并且我确定你们中的某些人可能在某个时候也遇到过类似的问题。

所以我的testNg套件中总共有10个测试类,我希望它们可以并行运行。这很容易,但是问题是我的班级之一让我们假设班级为Test A,不仅设置了测试数据,而且还测试了应用程序的某些功能,因此我不能在BeforeSuite或BeforeTest批注下使用它。通过在该类下执行测试而创建的Test数据对于其他测试类的运行很重要,因此,我真的很想弄清楚如何实现类级别的并行性,使得并行运行仅在Tests下的测试之后启动一个类完成了执行。

摘要

A类测试

public class TestsA {

   @BeforeClass
   public setupTestClass(){
   -----some code--------
  }
  @Test
  public test1(){
 ------some code---
}

我希望此TestA类首先运行,然后并行实例化其他测试类。任何对此的帮助将不胜感激。

谢谢

java parallel-processing testng parallel-testing
1个回答
0
投票

请尝试在其他类中存在的其他测试中使用@Test(dependsOn =“ methodName”)。

例如:假设我有一个ClassB,它只能在运行类TestsA中的方法[[test1之后运行,然后代码如下所示,

public class ClassB { @BeforeClass public setupTestClass(){} @Test(dependsOn="test1") public test2(){}

    请为将用作dependsOn方法的测试方法使用唯一的名称。
  • [您还应注意,如果您采用这种方法,则test1就像其他测试的核心依赖项。因此,如果test1失败,那么依赖于它的所有其他测试用例将被TestNG标记为已跳过
© www.soinside.com 2019 - 2024. All rights reserved.