2016-12-06 85 views
0

我对TestNG相当陌生。TestNG:如何从DataProvider方法返回列表<String>

以下是我的测试方法

@Test(dataProvider="getHRServiceData") 
public void executeHRService(List<String> inputValues) 
{ 
    //some code here 
} 

正如你可以看到这个方法需要名单inputValues作为参数。

以下是我对getHRServiceData代码()方法

public Object[][] getHRServiceData() throws Exception 
{ 
    List<String> inputValues=Utils.getInputDataFromExcelFileAsList("HR"); 
    Object[][] objArray = new Object[inputValues.length][]; 
    //Code to convert List<String> to Object[][] 
} 

在这种方法中,我得到的名单

但形式inputValues值返回类型是Object [] []我需要转换列表到对象[] []

我不知道如何将列表转换为对象[] []

能否请你帮我在这里。

+0

此无关使用TestNG。你的问题是将'List '转换为'Object [] []'。如何查看将一维列表转换为二维数组的结果?你是否打算将每个字符串转换为单个字符?或者将尺寸2设置为尺寸1?你需要陈述/想清楚你的意图。 –

回答

2

尝试这样:

@DataProvider (name = "getHRServiceData") 
public Object[][] getHRServiceData() { 
    return new Object[][] { 
      { 
        Utils.getInputDataFromExcelFileAsList("HR"); 
      }, 
    }; 
} 
+1

这对我来说非常合适。非常感谢:) – sac

+0

小心,OP。我*相信*这将创建一个1x1大小的2D数组,其唯一的内部元素是原始的'List '。因此最终的Object实际上是一个'List [] []'。这当然是编译的,但它真的做你想要的吗? –

+0

谢谢Sylvain,你可能是对的。但在我的情况下,我知道总会有单个阵列列表。所以对我来说这是有效的。 – sac

相关问题