glaphire
@glaphire
PHP developer

Как правильно покрыть тестами модуль парсинга и генерации данных?

Тяжело дается написание тестируемого кода и хороших тестов на практике, хочу переписать старый модуль по парсингу Excel файла и замороченной генерации данных по методике TDD для тренировки (чтобы не писать плохой код, а потом не знать, с какой стороны к нему подойти).

Чем больше анализирую, тем сложнее понять, что я вообще могу покрыть тестами, если важные части логики сокрыты в таких шагах:
- убедиться, что из файла получена правильная структура данных
- сгенерировать данные по шаблону, который подразумевает сохранение большого количества промежуточных данных в базе, генерация идет в несколько этапов
- убедиться, что конечные сгенерированные данные целостны по ряду правил

Из всего этого я могу понять, как написать функциональные тесты последнего шага, если нагенерить валидные данные через фикстуры, остальные два этапа потребуют перемокать миллион классов, работу с файлами, работу с базой.
Получается, что юнит тесты тут мало чем помогут, если начать мокать все подряд, а без моков они превратятся в функциональные или end-to-end тесты.

Можете пожалуйста рассказать, как вы поступали в похожих ситуациях или дать ссылку на материал, где такие задачи решали?
  • Вопрос задан
  • 85 просмотров
Решения вопроса 1
index0h
@index0h
PHP, Golang. https://github.com/index0h
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
CARDPR Екатеринбург
от 50 000 до 100 000 ₽
Wisebits Лимассол
от 2 500 до 3 000 €
Ленремонт Санкт-Петербург
от 130 000 до 200 000 ₽
28 сент. 2020, в 22:46
1500 руб./за проект
28 сент. 2020, в 22:42
5000 руб./за проект
28 сент. 2020, в 21:50
600 руб./в час