TestNG遍历测试数据而不是测试方法

休伯特·格热斯科维克

当将DataProvider与多个TestNG方法一起使用时,每个方法都将按顺序使用所有数据集运行。相反,我想遍历数据集并在每次迭代中执行所有方法。我不在乎结果是否显示每个测试方法的每个结果或每个方法的运行摘要。

我已经尝试过该选项

order-by-instances="true"

在suite.xml中没有成功。

样例代码:

public class TestNGTest
{
    @DataProvider(name = "dp")
    public Object[][] createData(Method m) {
      return new Object[][] { new Object[] { "Cedric" }, new Object[] {"Martina"}};
    }

    @Test(dataProvider = "dp")    
    public void test1(String s) throws InterruptedException {
        System.out.println("test1 " + s);
        Thread.sleep(1000);
    }

    @Test(dataProvider = "dp")
    public void test2(String s) throws InterruptedException {
        System.out.println("test2 " + s);
        Thread.sleep(1000);
    }
}

实际结果:

test1 Cedric
test1 Martina
test2 Cedric
test2 Martina
PASSED: test1("Cedric")
PASSED: test1("Martina")
PASSED: test2("Cedric")
PASSED: test2("Martina")

想要的结果:

test1 Cedric
test2 Cedric
test1 Martina
test2 Martina
PASSED: test1("Cedric")
PASSED: test2("Cedric")
PASSED: test1("Martina")
PASSED: test2("Martina")
帕维尔·科瓦尔斯基(Pawel Kowalski)

请尝试使用以下侦听器GroupByInstanceEnabler。您可以将此侦听器放在测试类(或测试基类,如果有的话)的Listeners批注中,或者甚至更简单,更好的解决方案是将其放在META-INF中,以让TestNg使用ServiceLoader(http://testng.com加载它。 org / doc / documentation-main.html#listeners-service-loader

这将使您摆脱suite.xml,而只需要将META-INF和启动器保留在类路径中即可。每当您运行任何测试时,都会加载该测试-无需配置任何类似IDE的内容,也无需创建要运行的套件-它始终会立即加载您的侦听器。

import org.testng.ISuite;
import org.testng.ISuiteListener;

public class GroupByInstanceEnabler implements ISuiteListener {

    @Override
    public void onStart(ISuite suite) {
        suite.getXmlSuite().setGroupByInstances(true);
    }

    @Override
    public void onFinish(ISuite suite) {

    }
}

帕维尔

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

测试数据类型的规范方法

来自分类Dev

在 django 中测试数据库而不是 django 模型

来自分类Dev

我可以通过更改测试数据来调用不同的TestNG测试吗?

来自分类Dev

TestNG DataProvider从testng.xml配置文件中读取测试数据?

来自分类Dev

测试数据访问对象

来自分类Dev

无法训练或测试数据

来自分类Dev

Spock:从CSV文件读取测试数据

来自分类Dev

以JSON格式获取Rspec测试数据

来自分类Dev

RSpec测试数据库索引

来自分类Dev

训练和测试数据的偏差图

来自分类Dev

在excel文件中测试数据模式

来自分类Dev

从CSV文件加载测试数据

来自分类Dev

Python unittest快速加载测试数据

来自分类Dev

让我的主干视图加载测试数据?

来自分类Dev

PostgreSQL在线测试数据库

来自分类Dev

用测试数据创建表

来自分类Dev

RSpec测试数据库索引

来自分类Dev

拆分训练和测试数据

来自分类Dev

Shell脚本测试数据输出?

来自分类Dev

用Faker生成测试数据

来自分类Dev

Sql的集成测试数据访问代码

来自分类Dev

axios 返回的测试数据更新DOM

来自分类Dev

创建测试数据时Envers NullPointerException

来自分类Dev

Django可重用包-测试数据库不是即时创建的

来自分类Dev

Django可重用包-测试数据库不是即时创建的

来自分类Dev

Django测试完成后如何保存测试数据?

来自分类Dev

如何使用测试数据测试ListActivity?

来自分类Dev

Django测试未在测试数据库上运行

来自分类Dev

从Excel读取NUnit测试数据-如何访问测试数据?