对于给定的项目,我有两个php文件来运行php unittests,它们位于子目录中。
第一个文件(AllTestSuite.php
)如下所示:
<?php
require_once dirname(__FILE__).'/unittest.inc.php';
class AllTestsSuite {
public static function suite(){
return new GlobTestsSuite(dirname(__FILE__), "/*/*Suite.php");
}
}
?>
,第二个文件(unittest.inc.php
)如下所示:
<?
class GlobTestsSuite extends PHPUnit_Framework_TestSuite {
public function __construct($sDirectory, $sExpression){
parent::__construct();
foreach (glob("$sDirectory/$sExpression") as $sTest){
require_once($sTest);
$this->addTestSuite(basename($sTest, ".php"));
}
}
}
?>
测试本身(在Ubuntu上,phpunit
版本3.7.27)被调用如下:
phpunit AllTestsSuite ./AllTestsSuite.php
,提供错误消息
PHP Fatal error: Class 'GlobTestsSuite' not found in /home/.../AllTestsSuite.php on line 6
我不明白这里发生了什么。文件AllTestsSuite.php
导入定义了类GlobTestSuite
的其他文件。如何解决这个问题?