Tests unitaires avec Zend_Test: Appel à une fonction de membre hasResource () sur un non-objet dans ErrorController de Zend
-
14-10-2019 - |
Question
Je reçois cette erreur
Fatal error: Call to a member function hasResource() on a non-object in D:\Projects\Tickle\application\controllers\ErrorController.php on line 53
où la ligne 53 ressemble
if (!$bootstrap->hasResource('Log')) {
Il semble que revient $this->getInvokeArg('bootstrap')
null
. Je suis pas d'autres erreurs. Je lis quelque part ailleurs pour un autre problème qu'une exception peut-être soulevé qui remet à zéro mon contrôleur ou d'amorçage ou quelque chose comme ça. Est-il possible que cette exception ne soit pas montrée? même dans le journal des erreurs PHP?
Mon apparence de configuration actuelle comme
- http://pastebin.com/YiP7i736
- J'ai essayé de supprimer tous les fichiers / test jusqu'à ce que je suis parti avec 1 essai http://pastebin.com/CsrLys4v
Le seul test fonctionne très bien, mais j'ai toujours l'erreur
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
La solution
bootstrap PARAM est enregistré lorsque vous appelez $application->run()
. Dans le fichier de démarrage de test unitaire, l'exécution est pas appelée. Vous devez définir le param boostrap vous avec ce code:
Zend_Controller_Front::getInstance()->setParam('bootstrap', $bootstrap);