0

これは私のテスト方法であり、データプロバイダーからデータを取得します

 @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();
}
4

0 に答える 0