首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TestNG并行DataProvider

TestNG并行DataProvider
EN

Stack Overflow用户
提问于 2019-10-14 04:37:21
回答 2查看 55关注 0票数 1

我希望在类中并行运行测试方法和数据提供程序。我需要一个数据提供程序,每次在新的测试方法开始为给定的测试运行生成部分动态数据之前,都会调用它。让我用伪代码来解释一下:

代码语言:javascript
复制
@DataProvider(parallel=true)
public Object[][] dp(){
  User user = createNewUser();
  return new Object[][]{
            {"s1", new AExtendsOtherObject(user), user},
            {"s2", new BExtendsOtherObject("any"), user},
}

@Test(dataProvider = "dp")
void test(String s, OtherObject o, User user){
}

<suite name="all" verbose="1" parallel="methods" data-provider-thread-count="5">

我怎样才能做到这一点呢?

EN

回答 2

Stack Overflow用户

发布于 2019-10-14 14:27:07

好了,现在我意识到我真正想要的是什么了,我的问题看起来有点愚蠢。很抱歉。无论如何,这是我的解决方案:

代码语言:javascript
复制
@DataProvider(parallel=true)
public Iterator<Object[]> dp(){
  List<Object[]> list = new ArrayList<>();
  User user = createNewUser();
  list.add(new Object[]{"s1", new AExtendsOtherObject(user), user});
  user = createNewUser();
  list.add(new Object[] {"s2", new BExtendsOtherObject("any"), user});        
  return list.iterator();
}

这种解决方案的唯一问题是,如果createNewUser()花费了很多时间,那么它将在任何测试方法开始之前立即获取它。

票数 1
EN

Stack Overflow用户

发布于 2019-10-14 08:23:08

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58367601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档