我在CakePHP 2.9.7上有一個項目。當我在本地機器上運行測試時,我沒有收到任何錯誤。但是,當我嘗試運行./Console/cake test app Controller/AlarmsController
或測試我的泊塢窗圖像中實際上具有相同PHPUnit版本和CakePHP版本的任何其他控制器時,出現錯誤MissingControllerException: Controller class AlarmsControllerController could not be found.
因此,控制器名稱中的單詞Controller
正在使用兩次。這個問題發生在https://github.com/cakephp/cakephp/blob/2.next/lib/Cake/TestSuite/ControllerTestCase.php#L339這個函數中。因此,錯誤跟蹤查找方式如下:Cakephp:MissingControllerException:無法找到控制器類AlarmsControllerController
/project/lib/Cake/TestSuite/ControllerTestCase.php:347
/project/lib/Cake/TestSuite/ControllerTestCase.php:362
所以錯誤導致getMock
功能(https://github.com/cakephp/cakephp/blob/2.next/lib/Cake/TestSuite/ControllerTestCase.php#L362)的調用。但是我無法理解那裏發生了什麼,爲什麼它在我的本地機器上以相同的條件運行(PHPUnit,CakePHP版本,同一個項目),但是在docker容器中我得到一個錯誤。
如果你所嘗試'./Console/cake測試應用程序控制器/ Alarms'? – Robert
@Robert,它不工作,我得到'無法打開文件「/project/app/Test/Case/Controller/AlarmsTest.php」。「。同一個'./Console/cake測試應用程序控制器/ AlarmsController'工作在我的本地mashine上。當我嘗試測試所有的控制器時,同樣的錯誤會發生:'./Console/cake測試應用程序AllController'。 – Vladislav
隨機拍攝...您使用Windows,Docker運行Linux並且控制器文件名有錯誤的情況? –