所以我有php项目,当我运行测试时,找不到类TestCase
,我无法找出原因。有问题的错误是:Fatal error: Class 'project\Tests\Api\TestCase' not found in /some/path/here/test/project/Tests/Api/UsersTest.php on line 6
以下文件名为UsersTest.php
,TestCase
是无法找到的类。
<?php
namespace project\Tests\Api;
class UsersTest extends TestCase
{
// code here
}
以下文件为TestCase.php
,与UsersTest.php
<?php
namespace project\Tests\Api;
abstract class TestCase extends \PHPUnit_Framework_TestCase
{
abstract protected function getApiClass();
protected function getApiMock()
{
// code here
}
}
这两个文件都存在于文件夹结构test/project/Tests/Api/
中。根据我的理解UsersTest.php
应该能够找到该类,因为这两个文件都存在于同一名称空间中。
在test/project
中,我有一个看起来像这样的bootstrap.php文件。
<?php
function includeIfExists($file)
{
if (file_exists($file)) {
return include $file;
}
}
if ((!$loader = includeIfExists(__DIR__.'/../vendor/autoload.php')) && (!$loader = includeIfExists(__DIR__.'/../../../.composer/autoload.php'))) {
die('You must set up the project dependencies, run the following commands:'.PHP_EOL.
'curl -s http://getcomposer.org/installer | php'.PHP_EOL.
'php composer.phar install'.PHP_EOL);
}
$loader->add('project\Tests', __DIR__);
return $loader;