【问题标题】:PHPUnit Skeleton Generator: Fatal error: Class 'SebastianBergmann\PHPUnit\SkeletonGenerator\CLI\Application' not foundPHPUnit 骨架生成器:致命错误:找不到类“SebastianBergmann\PHPUnit\SkeletonGenerator\CLI\Application”
【发布时间】:2015-03-17 20:32:59
【问题描述】:

我正在尝试使用 Skeleton Generator,但每次我尝试使用它时都会收到以下错误:

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

我不明白为什么这个类存在但它没有被看到。

我能做些什么来解决这个问题?和composer自动加载包有关系吗?

GitHub 问题:https://github.com/sebastianbergmann/phpunit-skeleton-generator/issues/46

【问题讨论】:

  • 请发布您的代码以显示您如何调用此类。您是否使用use ...; 行来导入该类?
  • 代码?我使用终端,例如 > php /[path_to_project]/vendor/bin/phpunit-skelgen --test ClassName /[path_to_project]/[path_to_file]/class.php
  • 同时我也在 GitHub 上为此开了一张票:github.com/sebastianbergmann/phpunit-skeleton-generator/issues/…

标签: php phpunit


【解决方案1】:

从 phpunit-skelgen 文件中的这一行开始:

foreach (array(__DIR__ . '/../../autoload.php', __DIR__ . '/vendor/autoload.php') as $file) {

确保引用的 autoload.php 文件确实存在。测试的方法是添加如下内容:

echo __DIR__ . '/../../autoload.php' . "\n";

...在 foreach 循环之前,看看它吐出的内容是否实际上在您的文件系统中。我使用的是 Laravel 5,autoload.php 位于一个名为“bootstrap”的目录中。我把它改成了这样:

foreach (array(__DIR__.'/../bootstrap/autoload.php', __DIR__ . '/../vendor/autoload.php') as $file) {

...并且能够进行下一步(仍然无法生成骨架测试,但还有其他问题)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-21
    • 2022-01-02
    • 2013-09-27
    • 2013-01-04
    • 1970-01-01
    • 2014-06-11
    • 1970-01-01
    相关资源
    最近更新 更多