3

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

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

作曲家.json

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

应用程序.php

   'Illuminate\Foundation\Testing\TestCase'

我该做什么?

4

3 回答 3

3

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

确保运行composer update以确保文件已下载,并且自动加载器已使用该源更新。

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

于 2013-08-11T17:34:45.590 回答
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"
    }
},

现在一切都按预期工作。

我希望这对处于相同情况的其他人有所帮助。

于 2014-01-05T00:23:52.620 回答
0

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

composer install

注意 composer 产生的输出。

于 2013-11-17T19:10:31.607 回答