我可以在名为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,并在CakePHP 2.2.5上安装了PHPUnit 3.7.12
通过Web和CLI运行测试时出现此错误。
任何帮助都将不胜感激。
更新
如果我在PHPUnit的PEAR文件夹中搜索'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()。
答案 0 :(得分:2)
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软件包时可能会破坏依赖关系,这应该可以解决它。