Просто знайте, что это больше не модульное тестирование, а интеграционное тестирование, которое по определению является фазой в тестировании программного обеспечения, в которой отдельные программные модули объединяются и тестируются как группа. В этом случае вы тестируете интеграцию между слоями - контроллером и сервисным.
Здесь у вас не так много вариантов. Вы можете либо:
- Доверяйте , что метод
render(..)
хорошо выполняет свою работу и уже протестирован его провайдером. Я бы предпочел сосредоточиться на методе getTemplate(..)
, возвращает ли он правильный шаблон.
- Используйте автоматический тест front-end для вызова URL и обнаружения возвращенной веб-страницы в соответствии с заданными параметрами. Фреймворк Selenium или Robot способен сделать это. Тесты дыма и здравомыслия также охватывают это и сервер для этой цели.
- Используйте стороннюю библиотеку, как уже предлагалось. Тем не менее, я не вижу реальной выгоды в увеличении показателей покрытия кода (будьте осторожны - это может быть ложно-положительным показателем).