[英]PHP Fatal error: Class 'PHPUnit_Framework_TestCase' not found
[英]PHPUnit CodeIgniter Generate Fixtures PHP Fatal error: Class 'PHPUnit_Framework_TestCase' not found
因此,安装了PHPUnit和CodeIgniter:
http://d.hatena.ne.jp/Kenji_s/20120117/1326763908
由于PEAR已被弃用,因此无法下载。 所以不得不下载phpunit phar文件:
http://phpunit.de/manual/4.0/en/installation.html#installation.phar
因此能够进行一些测试以使其正常运行。 将我的phpunit.phar移至/ usr / local / bin并运行测试目录:
php /usr/local/bin/phpunit.phar
并且所有测试均正确运行。 但是,当我尝试运行php生成固定装置和php generate.php固定装置时:
PHP Fatal error: Class 'PHPUnit_Framework_TestCase' not found in /www/test/application/third_party/CIUnit/libraries/CIUnitTestCase.php on line 15
Fatal error: Class 'PHPUnit_Framework_TestCase' not found in /www/test/application/third_party/CIUnit/libraries/CIUnitTestCase.php on line 15
好像没有找到phar文件中的类,或者至少它们的顺序不正确? 有趣的是,它可以很好地运行测试,但不能生成固定装置。
另外,我还使用composer安装了phpunit,因此我也安装了/ www / test / vendor / bin / phpunit。
任何帮助,将不胜感激。
尽管我不使用CodeIgniter,但我的代码中也遇到了同样的问题。 尝试运行测试将导致错误消息:
找不到类“ PHPUnit_Framework_TestCase”
值得的是,通过在测试类声明中添加反斜杠来解决此问题。
// Before
namespace IMAVendor\Super\Duper;
class MyClassTest extends PHPUnit_Framework_TestCase
// After
namespace IMAVendor\Super\Duper;
class MyClassTest extends \PHPUnit_Framework_TestCase
^
Added this backslash here
这似乎与名称空间和phpunit中内置的自动加载器有关。 我有用于项目代码的自动加载程序,似乎它正在尝试从我的代码加载phpunit的类。 我不太确定为什么在项目名称空间中找不到它时为什么不尝试从“基础”中加载它(这很可能是由于我自己的自动加载器出错)。
我知道这是一个古老的问题,但是我会把它留在这里,以防可能对某人有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.