2017-05-31 78 views
2

我在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容器中我得到一個錯誤。

+0

如果你所嘗試'./Console/cake測試應用程序控制器/ Alarms'? – Robert

+0

@Robert,它不工作,我得到'無法打開文件「/project/app/Test/Case/Controller/AlarmsTest.php」。「。同一個'./Console/cake測試應用程序控制器/ AlarmsController'工作在我的本地mashine上。當我嘗試測試所有的控制器時,同樣的錯誤會發生:'./Console/cake測試應用程序AllController'。 – Vladislav

+0

隨機拍攝...您使用Windows,Docker運行Linux並且控制器文件名有錯誤的情況? –

回答

0

必須不帶後綴的控制器指定控制器名稱:

./Console/cake test app Controller/Alarms 

Docs

+0

它不工作,我得到'無法打開文件「/project/app/Test/Case/Controller/AlarmsTest.php」。「。同一個'./Console/cake測試應用程序控制器/ AlarmsController'工作在我的本地mashine上。當我嘗試測試所有的控制器時,同樣的錯誤會發生:'./Console/cake測試應用程序AllController'。 – Vladislav

相關問題