java - 仅在您的班级之一完成测试后,如何以班级级别的并行性运行您的测试
问题描述
我陷入了一个相当独特的问题,我相信你们中的一些人可能在某些时候遇到过类似的问题。
所以我的 testNg 套件中总共有 10 个测试类,我希望它们并行运行。这很容易,但问题是我的课程之一让我们假设类 Test A,不仅设置测试数据,还测试应用程序的一些功能,因此我不能在 BeforeSuite 或 BeforeTest 注释下使用它。通过在此类下执行测试创建的测试数据对于其他测试类的运行很重要,因此我真的很想知道如何以这样的方式实现类级并行性,即并行运行仅在测试下的测试后启动一个类完成了它的执行。
概括
A类测试
public class TestsA {
@BeforeClass
public setupTestClass(){
-----some code--------
}
@Test
public test1(){
------some code---
}
我希望这个 TestA 类首先运行,然后并行实例化其他测试类。对此的任何帮助将不胜感激。
谢谢
解决方案
默认情况下,所有测试方法都将具有优先级“0”值。因此,如果您希望在所有其他测试之前执行特定的测试方法,那么您可以将该特定测试的优先级设置为 -1。次要优先级将是它在 testng 中的执行。因此,优先级为 -1 的测试优先于所有其他优先级为“0”的测试。
示例为单个测试方法设置优先级
public class ClassA {
@Test(priority = -1)
public void b(){
System.out.println("Test1");
}
@Test
public void a(){
System.out.println("Test2");
}
}
示例 2:为整个班级设置优先级
@Test(priority = -1)
public class ClassA {
public void b(){
System.out.println("Test1");
}
public void a(){
System.out.println("Test2");
}
}
输出对于这两个示例:
测试1
测试2
推荐阅读
- android - 如何从 Google Play 控制台仪表板中的内部和封闭测试轨道中删除版本
- azure-functions - 如何强制 azure eventthub checkpointstoreblob 在 xx 秒后终止
- r - 检查每个组是否只有相同的观察值/值
- clojure - 更新嵌套地图中的向量
- php - Symfony 5.2 EntityType 值对 JSON 对象无效
- spring - @ComponentScan 是否需要与 @Configuration 属于同一类
- html - 如何预防缩放时调整元素大小
- python - 两个进程如何使用 Python 登录单个文件?/ 从多个进程记录到单个文件
- ios - 从 ViewController Swift 中的 UITableViewCell 调用函数
- javascript - 如何在 JavaScript 中将这种类型的数组转换为 Object?