В статье рассматривается проблема написания тестов для класса, который использует пакет Browsershot для генерации PDF-файлов. Автор начинает с введения в необходимость создания приложений, способных экспортировать отчеты или страницы в формат PDF, и упоминает ранее использованные библиотеки для этой задачи. Затем он представляет Browsershot как один из лучших пакетов для генерации PDF, обосновывая его простотой настройки.
Однако основная проблема, с которой сталкиваются разработчики, заключается в написании тестов для классов, использующих Browsershot. Тесты, выполняемые с помощью Browsershot, могут быть медленными и зависимыми от интернет-соединения. Это может вызвать проблемы, если есть несколько классов, использующих Browsershot, или если нет доступа к интернету. Кроме того, это может увеличить затраты на тестирование, если используется платная услуга для тестирования.
Автор предлагает решение этой проблемы с использованием библиотеки Mockery для имитации поведения класса и проверки вызовов его методов. Он также обсуждает сложности, связанные с мокированием статических методов в Browsershot, и предлагает альтернативный метод с использованием инъекции зависимостей. Это позволяет сделать мокирование более эффективным и улучшить тестируемость класса.
Post #3620
2.97K