zend_testを使用した単位テスト:ZendのErrorControllerの非オブジェクトでメンバーfunction hasResource()を呼び出す

StackOverflow https://stackoverflow.com/questions/4568797

質問

このエラーが発生しています

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エラーログでも?

私の現在のセットアップは次のように見えます

単一のテストは正常に実行されますが、まだエラーが発生しました

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);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top