Модульные тесты в веб-приложении CodeIgniter, управляемом базой данных - PullRequest
6 голосов
/ 09 февраля 2012

CodeIgniter поставляется со встроенным классом модульного тестирования, и я бы очень хотел его использовать.Однако почти все функции, которые я хотел бы протестировать, взаимодействуют с базой данных, добавляя записи, удаляя записи и т. Д. Как бы я, например, написал тесты для функции «создать пользователя», фактически не создавая пользователей при каждом запуске теста?

После некоторых дальнейших исследований мне кажется, что мне нужно использовать объекты Mock для внешних сервисов, таких как база данных и т. Д. Мне не удалось найти много документов о том, как это сделать, кроме этогоодна ветка форума: http://codeigniter.com/forums/viewthread/106737

Есть ли актуальная документация?

1 Ответ

4 голосов
/ 31 марта 2012

Если ваш драйвер базы данных разрешает транзакции, используйте их. Сделайте все, что нужно для проверки, затем выполните откат (в случае успеха или неудачи).

Я обнаружил, что сложно запустить модульные тесты с действиями контроллера. Если вы найдете хороший способ сделать это, дайте нам знать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...