2011-09-23 66 views
1

我想在Zend Framework中为控制器类设置单元测试。使用Zend在单个文件中运行多个PHPUnit测试?

我想为同一个控制器编写多个测试,并将它们全部保存在同一个测试类中。但是,当我按照主页上的指示,我得到以下异常时,第二个测试函数运行:

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

这听起来像是对我说,你必须启用模块,但没有/应用/模块/默认/模块。所以,你要么需要创建一个模块调用默认,或在你的引导地方补充:

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

为了更清楚,张贴一些你的application.ini的,尤其是如果有关于那里的模块什么。

+0

如果我一次运行一个测试,一切正常,所以我不认为这是我的application.ini或模块本身就是问题所在。 – mindbat