Laravel 4 PHP致命错误:未找到类'Illuminate \ Foundation \ Testing \ TestCase'

时间:2013-08-11 12:41:32

标签: php phpunit laravel

当我使用Laravel 4运行phpunit时出现以下错误。

PHP Fatal error:  Class 'Illuminate\Foundation\Testing\TestCase' not found in 

composer.json

    "require": {
    "laravel/framework": "4.0.*",
    "phpunit/phpunit": "3.7.*"
},

app.php

   'Illuminate\Foundation\Testing\TestCase'

应该做什么?

3 个答案:

答案 0 :(得分:3)

看起来自动加载不包含新要求。

请务必运行composer update以确保下载文件并使用该来源更新自动加载器。

如果文件已下载并且已“安装”,请手动运行php composer dump-autoload以重建自动加载文件。

答案 1 :(得分:2)

我遇到了同样的问题,所以我想我会发布我的解决方案,即使它可能是你所追求的不同解决方案。

我想自动加载我自己的库,所以我将以下内容添加到我的composer.json中:

"autoload": {
    "psr-0": {
        "Fhc": "app"
    }
},

我没有意识到的是,正如以上所示:

"autoload": {
    "classmap": [
        "app/commands",
        "app/controllers",
        "app/models",
        "app/database/migrations",
        "app/database/seeds",
        "app/tests/TestCase.php"
    ],
},

从本质上讲,我的修改完全覆盖了上面的代码。解决方案是将两者合并在一起(正如我应该开始做的那样)。

"autoload": {
    "classmap": [
        "app/commands",
        "app/controllers",
        "app/models",
        "app/database/migrations",
        "app/database/seeds",
        "app/tests/TestCase.php"
    ],
    "psr-0": {
        "Fhc": "app"
    }
},

现在它按预期工作了。

我希望这可以帮助处于同样情况的其他人。

答案 2 :(得分:0)

尝试删除您的"供应商"文件夹和运行后名为composer.lock的文件:

composer install

注意作曲家的作品。