zend_testを使用した単位テスト:ZendのErrorControllerの非オブジェクトでメンバーfunction hasResource()を呼び出す
-
14-10-2019 - |
質問
このエラーが発生しています
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
. 。他のエラーはありませんでした。私は別の問題について他の場所で読みました。例外が私のコントローラーやブートストラップなどをリセットする可能性があるということです。その例外が表示されない可能性はありますか? PHPエラーログでも?
私の現在のセットアップは次のように見えます
- phpunitのbootstrap.php http://pastebin.com/yip7i736
- 1つのテストが残されるまで、すべてのファイル/テストを削除しようとしました http://pastebin.com/csrlys4v
単一のテストは正常に実行されますが、まだエラーが発生しました
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
解決
Bootstrap Paramは、電話すると登録されます $application->run()
. 。ユニットテストブートストラップでは、実行は呼び出されません。このコードでBoostrap Paramを自分で設定する必要があります。
Zend_Controller_Front::getInstance()->setParam('bootstrap', $bootstrap);
所属していません StackOverflow