これは私のテスト方法であり、データプロバイダーからデータを取得します
@Test(dataProvider = "csvFeed2")
public void testAddCaseFolderSource(@Optional("") String sourceName, @Optional("") String sourceDir, @Optional("") String folderLevel)
throws Exception {
System.out.println("sourceName.." + sourceName);
System.out.println("sourceDir.." + sourceDir);
System.out.println("sourceDir.." + folderLevel);
}
私のcsvデータは次のようになります
strfiletyping_combo_B2,"D:\tmp\pstdata\date_range",100 strfiletyping_combo_B3,"D:\tmp\pstdata1\date_range",200 strfiletyping_combo_B4,"D:\tmp\pstdata\date_range",300 strfiletyping_combo_B5,"D:\tmp\ pstdata1\date_range",40
それは正常に動作します。データ プロバイダーは、期待どおりにデータをテスト メソッドに挿入します。
今問題は、私のcsvで、次のようなレコードの1つで列が欠落している場合です
strfiletyping_combo_B3,"D:\tmp\pstdata1\date_range"
その後、TestNG は処理を停止します。次の記録にも進まない。
私の予想では、レコードがない場合は、パラメーターを渡すときに行うように、 @optional param で使用できるものを使用する必要があります。
誰かがこれに光を当てることができればいいでしょう。
データプロバイダーコードは
try {
csvReader = new CSVReader(new FileReader(csvDataPath));
List<String[]> list = csvReader.readAll();
String[][] dataArr = new String[list.size()][];
dataArr = list.toArray(dataArr);
return dataArr;
} catch (Exception e) {
e.printStackTrace();
}