glaphire
@glaphire
PHP developer

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

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

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

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

Можете пожалуйста рассказать, как вы поступали в похожих ситуациях или дать ссылку на материал, где такие задачи решали?
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы