Я немного запутался в том, как лучше всего реализовать простой DataProvider, хотя я этого раньше не делал.
У меня есть очень простой CSV-файл с разделителями-запятыми:
978KAL,625JBH,876SSH,452GSH
Мне просто нужно прочитать его и перебрать записи, выполняя один и тот же тест для каждой записи, пока не будет выполнено.
Мой код на данный момент:
String csvFile = "src/test/resources/registrationsData.csv";
BufferedReader br = null;
String line = "";
String cvsSplitBy = ",";
@DataProvider(name="getRegistrations")
private Object[] getCSVTestData() {
Object [] registrationsObject;
try {
br = new BufferedReader(new FileReader(csvFile));
while ((line = br.readLine()) != null) {
// use comma as separator
String [] registrations = line.split(cvsSplitBy);
System.out.println( registrations[0] + "," + registrations[1]);
}
} catch//File not found & IOException handling here
registrationsObject = new Object[][]{registrations};
return registrationsObject;
}
@Test(dataProvider = "getRegistrations")
public void getRegistrations(String registration){
Object[] objRegArray = getCSVTestData();
for(int i=0; objRegArray.length>i; i++){
//run tests for every record in the array (csv file)
}
}
Я знаю, что мне нужно используйте возвращаемый тип массива объектов для метода поставщика данных.
Мне неясно, как (и / или как лучше всего) получить каждую запись из объекта objRegArray.
Это a basi c Я думаю, вопрос о коллекциях; кто-нибудь может указать мне правильный путь?