Тестирование контроллеров и хелперов

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
shkarbatov
Сообщения: 423
Зарегистрирован: 2012.12.10, 14:19
Откуда: Россия

Тестирование контроллеров и хелперов

Сообщение shkarbatov »

Добрый день, есть сервис, написанный на yii.
Данных в себе он не хранит, получает от внешнего сервиса, обрабатывает и ему же и передает. Соответственно БД - нет, моделей, тоже - нет.
Есть контроллеры и хелперы (синглтоны).
Встала задача протестировать код.
Не совсем понимаю, с одной стороны вроде бы надо unit-тесты с другой вроде как функциональные.

Подскажите пожалуйста, как быть? И с чего начать.

Спасибо!
Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Re: Тестирование контроллеров и хелперов

Сообщение futbolim »

с одной стороны вроде бы надо unit-тесты с другой вроде как функциональные.
в руководстве всё чётко описано.
давайте вы начнёте, и мы тогда поможем.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Тестирование контроллеров и хелперов

Сообщение samdark »

Начать с того, что покроет наименьшими затратами большинство кода.
Аватара пользователя
xoma
Сообщения: 641
Зарегистрирован: 2009.04.02, 15:24
Откуда: Ногинск
Контактная информация:

Re: Тестирование контроллеров и хелперов

Сообщение xoma »

Если вы собираетесь тестировать только логику ваших хелперов и контроллеров - вам, скорее всего, придется писать именно юнит-тесты, а работу внешнего сервиса эмулировать тем или иным способом. С другой стороны, если разработчики сервиса дадут вам тестовые стенд - можете писать уже и интеграционные и функциональные тесты. Очень советую взглянуть на http://codeception.com/ и полистать вот эту книжечку https://leanpub.com/laravel-testing-decoded в ней есть отдельная глава про тестирование контроллеров, на то, что в книге приводятся примеры на laravel - не обращайте внимания, многое можно применить и на Yii-проектах.
Ответить