У меня нулевой опыт написания юнит-тестов, и мне было поручено написать простой тест для следующего метода:
public void getEventUsageValues() {
Properties props = new Properties();
List<String> eventCategory = new ArrayList<String>();
List<Integer> eventHits = new ArrayList<Integer>();
List<Integer> eventVisitors = new ArrayList<Integer>();
try {
FileInputStream inputStream = new FileInputStream("Path");
props.load(inputStream);
String excelFilePath = props.getProperty("EventUsage");
FileInputStream iStream = new FileInputStream(new File(excelFilePath));
Workbook workbook = new XSSFWorkbook(iStream);
Sheet firstSheet = workbook.getSheetAt(0);
Iterator<Row> iterator = firstSheet.iterator();
// Skips the header row
iterator.next();
// Iterate through the first sheet and get the cell values
while (iterator.hasNext()) {
Row nextRow = iterator.next();
Iterator<Cell> cellIterator = nextRow.cellIterator();
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
int columnIndex = cell.getColumnIndex();
switch (columnIndex) {
case 0:
String category;
if ("".equals(cell.getStringCellValue())) {
category = "null";
} else {
category = cell.getStringCellValue();
}
eventCategory.add(category);
eventUsage.setCategory(eventCategory);
break;
case 1:
int hits = (int) cell.getNumericCellValue();
eventHits.add(hits);
eventUsage.setHits(eventHits);
break;
case 2:
int visitors = (int) cell.getNumericCellValue();
eventVisitors.add(visitors);
eventUsage.setVisitors(eventVisitors);
break;
}
}
}
inputStream.close();
iStream.close();
} catch (Exception e) {
}
}
Вышеупомянутый метод используется для загрузки файла Excel и последующего назначения значений в каждом из них. ячейка в строку или целое число, которое затем добавляется в соответствующий массив.
Как я упоминал выше, у меня нулевой опыт написания тестов, поэтому я не уверен, с чего мне начать. Любая помощь будет оценена.