私はJavaとTestNgのかなり新しいです。私はテストメソッドにハッシュマップを返すために、以下のDataProviderを作成しましたが、失敗しているようで、問題がどこにあるのか分かりません。私は、Excelファイルをハッシュマップに読み込み、これをリストに保存しています。私はオブジェクトのハッシュマップを返したいと思います。あなたは、静的なプロパティを追加すると、それはあなたが外部のクラスからデータプロバイダを使用しようとしたことを意味し、あなたの問題を修正することを言っている場合TestNg DataProviderからハッシュマップを返す問題
何かアドバイスは
@DataProvider(name = "DataProvider")
public Object[][] getTestData() throws Exception {
LogUtil.error("in provider");
ExcelUtils.setExcelFile("C://testData.xlsx", "Sheet1");
int rowsUsed = ExcelUtils.getRowUsed();
int colsUsed = ExcelUtils.getColumns();
List<HashMap<String, String>> arrayMapList = new ArrayList<>();
HashMap<String, String> map;
for (int i = 0; i < rowsUsed; i++) {
map = new HashMap<>();
for (int j = 0; j < colsUsed; j++) {
map.put(ExcelUtils.getCellData(0, j), ExcelUtils.getCellData(i +1, j));
}
arrayMapList.add(map);
}
Object[][] obj = new Object[rowsUsed][1];
for (int i = 0; i <arrayMapList.size(); i++) {
obj[i][0] = arrayMapList.get(i);
}
return obj;
}
私は静的にメソッドを変更し、今すぐ動作します。 – Pablo
あなたはあなたの回答を投稿し、それを受け入れて質問が閉じられるようにしたいかもしれません。 –