2011-09-23 3 views
1

Я пытаюсь настроить модульное тестирование для класса контроллера в Zend Framework.Запуск нескольких тестов PHPUnit в одном файле с Zend?

Я хотел бы написать несколько тестов для одного и того же контроллера и сохранить их в одном классе тестов. Но когда я следовать инструкциям на домашней странице, я получаю следующее исключение, когда вторая тестовая функция работает:

Zend_Controller_Exception: No default module defined for this application 

Когда я закомментировать первую функцию тестирования, поэтому только один тест функция работает, ошибка уходит ,

Я использовал PHPUnit с другими фреймворками и не имел этой проблемы. Кто-нибудь знает, почему это происходит только тогда, когда я пытаюсь запустить несколько методов тестирования в одном классе?

UPDATE:

удалось исправить исключение, следуя метод самонастройки описано здесь: http://kelmadics.blogspot.com/2011/07/setting-up-phpunit-in-zend-framework.html

+0

Контролируют ли ваши контроллеры или их тесты какие-либо изменения переднего контроллера? Очевидно, что он находит контроллер для первого метода тестирования, но затем, когда 'setUp()' снова вызывается для загрузки приложения, второй раз он не может правильно настроить модули. –

ответ

0

Это звучит, как мне, что у вас есть модули включены, но не имеют/приложения/модули/default/module. Таким образом, вам необходимо либо создать модуль называется по умолчанию, или в загрузчике где-то добавить:

$front->setControllerDirectory(array(
    'default' => '/path/to/application/controllers', 
)); 

Для большей ясности, опубликовать некоторые из ваших application.ini, особенно если есть что-нибудь о модулях там.

+0

Все работает нормально, если я запускаю один тест за раз, поэтому я не думаю, что это моя программа application.ini или сами модули. – mindbat

Смежные вопросы