运行 testng 中不同数据提供者的相同测试

running same test with different dataprovider in testng

例如:

所以我的测试接受了一个数据提供者。但我希望它根据测试组为不同的测试类型选择不同的数据提供者。例如,如果我是 运行ning 组 "smoke" 那么我想使用数据提供者 1,如果我是 运行ning 组 "sanity" 那么我想 运行数据提供者 1 和数据提供者 2,如果我是 运行ning 组 "regression" 那么我希望它成为 运行 数据提供者 1、2 和 3。

这可能吗?如果可以,请提供信息或向我指出文档或可能有帮助的内容。

目前我的工作是对每个组进行 3 种不同的测试,然后我可以 select 使用哪个数据提供者。我也可以结合数据提供者。

我的解决方法的问题是所有 3 个测试都完全相同,不同的是组和数据提供者。

谢谢!

如何使用一个数据提供者 returns 不同的数据 - 基于当前测试组:

@DataProvider(name = "myDataProvider")
public Object[][] testDataProvider(ITestContext context) {
    List<String> includedGroups = Arrays.asList(context.getIncludedGroups());

    if(includedGroups.contains("myGroup")) {
        return dataA;
    }
    else if (includedGroups.contains("myOtherGroup")) {
        return dataBC;
    }

    //...
}