1

Я пишу приложение, которое преобразует разные изображения в JPG. Он работает над сложной структурой каталогов. Там каталог может включать в себя другие каталоги, файлы изображений (JPG, GIF, PNG, TIFF), файлы PDF, архивы RAR/ZIP, которые, в свою очередь, могут включать в себя что-либо из вышеперечисленного. Приложение находит все, что может быть преобразовано в изображение, и помещает полученные JPG в отдельную папку.Тестирование интеграции и изображения

Как написать интеграционные тесты для проверки преобразования изображений? В частности, как мне подделать сложную структуру каталогов со всеми файлами?

В настоящее время я просто храню образец структуры каталога, который я вручную собрал из различных изображений, PDF и архивных файлов в каталоге tests/. В методе setUp я помещаю эту папку образца вместо фактических данных и запускаю код. У меня возникла идея генерировать все эти образцы файлов (например, создавать JPG с помощью Imagemagick), но это оказалось трудно.

Как обычно выполняется интеграционное тестирование изображений?

ответ

1

Вы пишете свою собственную библиотеку, чтобы конвертировать изображения, используя только существующую библиотеку? В последнем случае вы просто не проверяете это. Автор уже как-то ее протестировал. Вам просто нужно создать слой абстракции между вашим кодом и библиотекой изображений, которые вы используете. Затем вы можете просто проверить, вызывает ли ваш код библиотеку с нужными параметрами. Если вы действительно настаиваете на тестировании изображений, вам нужно сделать детерминированность трансформации (и сравнить фактический результат с ожидаемым результатом), или вам нужно сделать сравнение немного менее строгим (от игнорирования полей даты до распознавания изображения OCR).

Тестирование файлов намного проще (вам не нужно распознавание на основе вероятности). Проверьте, размещена ли ваша программа в ожидаемом месте.

Смежные вопросы