【问题标题】:Controller not found trying PHPUnit tests at CakePHP 2.0在 CakePHP 2.0 上尝试 PHPUnit 测试时找不到控制器
【发布时间】:2012-04-18 01:00:08
【问题描述】:

我正在尝试在 CakePHP 2.0 上运行 PHPUnit 测试。 我的模型测试没有问题,但是当我尝试运行控制器测试时,我得到了这个错误:

Fatal error: Class 'Controller' not found in `/Applications/MAMP/htdocs/mysite/app/Controller/AppController.php on line 7`

发生了什么事? 谢谢。

【问题讨论】:

    标签: unit-testing cakephp controller phpunit cakephp-2.0


    【解决方案1】:

    你总是需要正确定义使用的类(你想要扩展的)——即使在你的控制器中:

    App::uses('Controller', 'Controller');
    
    class AppController extends Controller {}
    

    你错过了 App::uses 语句。

    【讨论】:

    • 不,所有控制器都运行良好。我的代码中有那行。只有当我尝试使用 PHPUnit 测试来测试它们时才会出现问题。
    • 控制器将始终运行良好(来自应用程序本身)。所以你 100% 确定 App::uses() 语句在应用控制器中?并且在调用 AppController 类之前不使用 Controller 类本身?我很确定这是你的问题。您可以通过在测试用例中添加相同的语句来解决 - 在最顶部。但是使用正确的包含顺序来解决问题会更干净。
    • 你是完全正确的马克 :) 谢谢大家,很抱歉我之前的回复,我没有读好。
    猜你喜欢
    • 2015-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多