2016-12-06 57 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