Как выполнить модульный тест парсинга OpenCSV - PullRequest
0 голосов
/ 05 апреля 2019

Итак, у меня есть такой метод:

public static List<Metrics> buildByColumnName(InputStream is, Class<? extends Metrics> clazz) {
    List<Metrics> metrics = null;
    MappingStrategy<Metrics> ms = new HeaderColumnMappingStrategy<>();
    ms.setType(clazz);

    try {
        Reader reader = new BufferedReader(new InputStreamReader(is));
        CsvToBean<Metrics> cb = new CsvToBeanBuilder<Metrics>(reader).withType(clazz).withMappingStrategy(ms).build();
        metrics = new ArrayList<>(cb.parse());
        reader.close(); 
    } catch (Exception e) {
        LOGGER.error("Error building metrics from CSV file: " + e);
        e.printStackTrace();
    }
}

И я создал модульный тест с двумя тестами для проверки исключений, но я не уверен, что мне нужно делать /издеваться, чтобы проверить счастливый путь.Есть идеи?

1 Ответ

1 голос
/ 05 апреля 2019

Ну, так как это статический метод, его вывод обычно основан на входных аргументах.

Все, что вам нужно сделать, это предоставить правильные аргументы и проверить, возвращает ли функция ожидаемое значение в соответствии с входными значениями (я полагаю, вы сделали то же самое с исключениями).

Возможно, вам потребуется создать InputStream объект для имитации файла CSV и предоставления тестовых данных.

Это можно сделать следующим образом:

InputStream stream = new ByteArrayInputStream("value1,value2,value3".getBytes());

Запустите метод, проверьте, правильно ли вы получили List<Metrics>, и все.

...