从两个阵列创建TestNG数据提供程序

从两个阵列创建TestNG数据提供程序,testng,testng-dataprovider,Testng,Testng Dataprovider,我正在处理创建正确的TestNG数据提供程序对象。我的目标是创建结构{customerCode,countryCode},例如“345”,“US”。 我能够将testNG.xml文件中的数据加载到两个单独的数组中,但最后要说明的是如何放置代码,以便它能够从一个数组返回第一个元素,并从第二个数组返回第一个元素,依此类推 这是我的代码,它返回两个不需要的数组。我希望与对象[][]配对,并将其用作数据提供程序 public Object[][] createData1(ITestContext con

我正在处理创建正确的TestNG数据提供程序对象。我的目标是创建结构{customerCode,countryCode},例如“345”,“US”。 我能够将testNG.xml文件中的数据加载到两个单独的数组中,但最后要说明的是如何放置代码,以便它能够从一个数组返回第一个元素,并从第二个数组返回第一个元素,依此类推

这是我的代码,它返回两个不需要的数组。我希望与对象[][]配对,并将其用作数据提供程序

public Object[][] createData1(ITestContext context) {
    String customerCodesStr = context.getCurrentXmlTest().getLocalParameters().get("customerCode");
    String[] customerCode = customerCodesStr.split(",");

    String countryCodeStr = context.getCurrentXmlTest().getLocalParameters().get("countryCode");
    String[] countryCode = countryCodeStr.split(",");

    Object[][] result = new Object[][]  {customerCode,countryCode} ;
    return result;
}
TestNG

<parameter name="customerCode" value="1234, 4357" />
<parameter name="countryCode" value="US, MEX" />

这是一个如何处理对象的原始问题,但要做到这一点很难。可以用for cycle来完成,但我想避免它。有什么建议吗?

明白了

Object[][] result = new Object[][] {};

    for (int i = 0; i < customerCode.length; i++) {
        result = ArrayUtils.add(result, new Object[] {customerCode[i],countryCode[i]});
    }

    return result;
Object[][]result=新对象[][]{};
对于(int i=0;i
好的,我这样说,还有更好的主意吗?Object[][]结果=新对象[customerCode.length][countryCode.length];对于(int i=0;i