TestNg - 如何水平合并两个数据采集器

时间:2015-07-31 09:24:25

标签: unit-testing testng testng-dataprovider

如果我们能合并以下2个数据提供者,请告诉我

public Object[][] dp1() {
   User user = new User(1L, "Arun");
   Transaction trx = new Transaction(1L, "atm");   
  return new Object[][] {
      new Object[] { user , trx, true  }

  };
}

public Object[][] dp2() {
  return new Object[][] {
      new Object[] { "e", "f" }
  };
}

我希望将它们水平合并,合并后,在合并的dataprovider中需要以下输出 {user,trx,true," e"," f" }

1 个答案:

答案 0 :(得分:1)

我不认为testng允许你两个调用两个diff数据提供者。但是您可以编写一个新的数据提供程序,您可以在其中调用这些方法并对它们返回的数组对象的每一行执行所需的合并操作。并将此方法作为测试的数据提供者。

public method mergeData(){
variable a [][]= dp1();
variable b [][]= dp2();

//perform required merging and store it in an object array and return it.
}