【问题标题】:PHPUnit_Util_Skeleton_Test not found in CakePHP在 CakePHP 中找不到 PHPUnit_Util_Skeleton_Test
【发布时间】:2012-12-30 04:13:50
【问题描述】:

我可以在一个名为 Agg 的插件中为每个模型运行单独的测试,但是当我尝试运行 CakeTestSuite 时,我得到了一个错误。

class ModelsTest extends CakeTestSuite
{
    public static function suite()
    {
        $suite = new CakeTestSuite('All model tests');
        $suite->addTestDirectory(TESTS . 'Case' . DS . 'Model');
        return $suite;
    }
}

运行该套件会产生此错误。

致命错误:在第 77 行的 C:\work\zend\cake\Cake\TestSuite\CakeTestSuiteCommand.php 中找不到类 'PHPUnit_Util_Skeleton_Test'

我正在使用 PHP 5.3.15 并安装了 PHPUnit 3.7.12 和 CakePHP 2.2.5

我在通过 Web 和 CLI 运行测试时收到此错误。

任何帮助将不胜感激。

更新:

如果我在 PEAR 文件夹中为 PHPUnit 搜索“PHPUnit_Util_Skeleton_Test”,则找不到它。这对我来说似乎很奇怪。我是否使用了错误版本的 PHPUnit?这门课是什么时候引入的?

更新:

在 PHPUnit 3.7.x 中似乎不再使用这个类,我想知道 CakePHP 2.2 是否只能与 PHPUnit 3.6 一起使用。我尝试卸载 pear 包,然后安装 3.6.x 版本但始终安装最新版本。关于如何降级 PHPUnit 的任何想法?

更新:

使用 --force 降级以安装旧版本的 PHPUnit 并不能解决问题。我尝试了 3.6.12、3.6.5 和 3.5。对于 3.6.12,我在 PHPUnit 代码中的某处遇到了 is_file() 错误。

【问题讨论】:

    标签: php phpunit cakephp-2.2


    【解决方案1】:

    PHPUnit_Util_Skeleton_Test 在 PHPUnit 3.6 中可用,请参阅 https://github.com/sebastianbergmann/phpunit/blob/3.6/PHPUnit/Util/Skeleton/Test.php

    我建议卸载 所有 phpunit 软件包并重新安装 phpunit 3.6

    $ pear install phpunit/phpunit-3.6.12
    

    可能是使用--force 降级单个phpunit 包时依赖关系被破坏,这应该可以解决它。

    【讨论】:

    • 谢谢。我会再试一次 3.6.12,看看能不能让它工作。
    猜你喜欢
    • 1970-01-01
    • 2012-10-25
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    • 1970-01-01
    • 2014-01-02
    • 2023-04-06
    • 1970-01-01
    相关资源
    最近更新 更多