Возможный дубликат:
Как вы используете PHPUnit для проверки функции, если эта функция должна убивать PHP?
Я пишу некоторые модульные тесты. Система, которую я сейчас тестирую, представляет собой веб-приложение в среде MVC.
Если мы хотим отображать страницы без системы сайта, мы традиционно запускаем наш код, как обычно, но печатаем «die ()»; заявление в конце функции для выхода до остальной части веб-сайта.
Ну, теперь, когда мы добавляем модульное тестирование, это кажется проблемой. Вы видите, когда вы DIE (); в MVC, который, кажется, отправляет одно и то же сообщение в PHPUnit.
Grrrr … код теперь отображается как «нестойкий»,
Или это?
Как планировать смерть (); В PHPUnit?
Я знаю о добавлении этого перед тестом:
/** * @expectedException PHPUnit_Framework_Error */
но это не позволяет мне проверять переменные так, как они были «в момент смерти» (по крайней мере, я так не думаю)
Кто-нибудь может просветить меня?
Благодаря! : D
В этом случае вам просто нужно использовать return
вместо die
. Должно быть легко заменить все смертельные случаи на возврат в вашу среду IDE.
Реальная проблема заключается в том, когда вам действительно нужно проверить код выхода приложения, возвращенный exit
или die
(см. Ответ edorian).