zend-framework - 使用 Zend_Test 进行单元测试 : Call to a member function hasResource() on a non-object in Zend's ErrorController

标签 zend-framework phpunit doctrine-orm zend-test

我收到此错误

Fatal error: Call to a member function hasResource() on a non-object in D:\Projects\Tickle\application\controllers\ErrorController.php on line 53

第 53 行看起来像这样

if (!$bootstrap->hasResource('Log')) {

看起来$this->getInvokeArg('bootstrap')返回null。我没有其他错误。我在其他地方读到另一个问题,可能会引发异常,从而重置我的 Controller 或 Bootstrap 或类似的东西。是否有可能不显示该异常?甚至在 PHP 错误日志中?

我当前的设置如下

单个测试运行良好,但我仍然收到错误

D:\Projects\Tickle\tests>phpunit
PHPUnit 3.5.5 by Sebastian Bergmann.

.
Fatal error: Call to a member function hasResource() on a non-object in D:\Projects\Tickle\application\controllers\Error
Controller.php on line 53

最佳答案

引导参数在您调用$application->run()时注册。在您的单元测试 Bootstrap 中,不会调用 run。您必须使用以下代码自行设置 boostrap 参数:

Zend_Controller_Front::getInstance()->setParam('bootstrap', $bootstrap);

关于zend-framework - 使用 Zend_Test 进行单元测试 : Call to a member function hasResource() on a non-object in Zend's ErrorController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4568797/

相关文章:

php - Doctrine2 : How to fetch pure entity, 不是代理?

php - Zend 框架设置

php - 解耦还是模拟?

symfony 2.1 phpunit Swift_Message 类未找到

php - "Temporary failure in name resolution": Symfony 5. 3 使用 Doctrine 和 Docker 连接到 MariaDB

mysql - Zend 查询仅适用于反引号 : When are backticks necessary

php - 重构 ZF Controller 文件?

PHPunit 代码覆盖错误

php - 如何与相关实体独立设置 Symfony2 Bundles

php - 学说中的ObjectRepository是什么以及他的作用是什么