Есть библиотека, по сути нечто вроде экзотического архиватора.
Насколько нормальной является практика писать тесты на основе реальных сэмплов (архивов)? То есть, реально в ходе теста разбирать заранее известный архив и сравнивать содержимое полученных файлов с эталонным (по md5-хэшу, например).
Если такая практика нормальная, то как такие тесты называются? Вроде как не юнит-тесты, потому что тестируем не изолированные юниты с помощью стабов и моков. И не интеграционные, насколько я понял, потому что тестируется не интеграция составляющих либу классов.
Нет единого определения юнит теста, так что не важно. Тот же phpunit подходит под все виды тестов (просто для каких то не так удобно). На счёт эталонов - а если бы ты писал энкодеры какие? У тебя там на вход строка и на выход строка, и ты "эталоны" проверяешь. Вполне нормальная тема. На счёт "юнитов" - думай больше о изоляции тест кйсов. Условно у одного теста "по хорошему" должна быть одна причина для фэйла. Именно по этому стараются тесты изолировать от влияния внешнего мира и т д.
Нормально, но сравнивать по мд5, возможно, не всегда выйдет (контент, кажется, может в некоторых случаях различаться).
Обсуждают сегодня