我正在尝试使用骨架生成器,但每次尝试使用它时,我都会收到以下错误:
Fatal error: Class 'SebastianBergmann'PHPUnit'SkeletonGenerator'CLI'Application' not found in [path_to_project]/vendor/phpunit/phpunit-skeleton-generator/phpunit-skelgen on line 63
背景
我已经通过Composer安装了SkeletonGenerator。
实际上未找到的类存在于路径/vendor/phpunit/phpunit-skeleton-generator/src/CLI/Application 中
我不明白为什么这个类存在,但它没有被看到。
我该怎么做才能解决问题?它与作曲家自动加载包有关吗?
GitHub 问题:https://github.com/sebastianbergmann/phpunit-skeleton-generator/issues/46
一个开始的地方是phpunit-skelgen文件中的这一行:
foreach (array(__DIR__ . '/../../autoload.php', __DIR__ . '/vendor/autoload.php') as $file) {
确保引用的自动加载.php文件确实存在。 测试方法是添加类似以下内容的内容:
echo __DIR__ . '/../../autoload.php' . "'n";
。在 foreach 循环之前,看看它吐出的内容是否真的在你的文件系统中。 我正在使用Laravel 5,自动加载.php位于名为"bootstrap"的目录中。 我把它改成这样:
foreach (array(__DIR__.'/../bootstrap/autoload.php', __DIR__ . '/../vendor/autoload.php') as $file) {
。并且能够将事情推进到下一步(仍然无法生成骨骼测试,但还有其他问题)。