J'ai un projet sur Cakephp 2.9.7. Lorsque je lance un test sur ma machine locale, je n'ai aucune erreur. Mais, quand j'essaie d'exécuter ./Console/cake test app Controller/AlarmsController
ou de tester tout autre contrôleur dans mon image docker, qui a la même version de PHPUnit et la même version de Cakephp, j'obtiens une erreur MissingControllerException: Controller class AlarmsControllerController could not be found.
Donc le mot Controller
dans le nom du contrôleur est utilisé deux fois. Le problème se produit dans https://github.com/cakephp/cakephp/blob/2.next/lib/Cake/TestSuite/ControllerTestCase.php#L339 cette fonction. Ainsi, la trace d'erreur semble la manière suivante:Cakephp: MissingControllerException: Classe de contrôleur AlarmsControllerController introuvable
/project/lib/Cake/TestSuite/ControllerTestCase.php:347
/project/lib/Cake/TestSuite/ControllerTestCase.php:362
Ainsi l'erreur provoque l'appel de la fonction getMock
(https://github.com/cakephp/cakephp/blob/2.next/lib/Cake/TestSuite/ControllerTestCase.php#L362). Mais je ne peux pas comprendre ce qui se passe là-bas, et pourquoi cela fonctionne sur ma machine locale avec des conditions égales (PHPUnit, version Cakephp, le même projet), mais dans le conteneur docker je reçois une erreur.
si vous essayez 'application de test ./Console/cake Controller/Alarms'? – Robert
@Robert, ça ne marche pas, j'obtiens 'Impossible d'ouvrir le fichier" /project/app/Test/Case/Controller/AlarmsTest.php ".'. Le même './Console/cake test app Controller/AlarmsController' fonctionne sur ma machine locale. Et la même erreur se produit lorsque j'essaie de tester tous les contrôleurs: './Console/cake test app AllController'. – Vladislav
Prise de vue aléatoire ... Vous utilisez Windows, Docker exécute Linux et le nom du fichier du contrôleur est erroné? –