运行PHPUnit测试用例时,PHP类解决了同一目录中的类的问题

use*_*380 10 php phpunit classloader

我安装了PHPUnit,我的Test类看起来像这样:

require_once 'PHPUnit/Framework/TestCase.php';

class Test extends PHPUnit_Framework_TestCase {...}
Run Code Online (Sandbox Code Playgroud)

当我在Eclipse中执行PHP脚本时,出现以下错误:

致命错误:第99行的....../PEAR/PHPUnit/Framework/TestCase.php中找不到类'PHPUnit_Framework_Assert'

所以我创建了一个通用的PHP类加载测试:

  • A.php和B.php在同一目录中

a.php只会:

class AA {}
Run Code Online (Sandbox Code Playgroud)

B.php:

class BB extends AA {}
new BB();
Run Code Online (Sandbox Code Playgroud)

执行PHP脚本B.php时,我得到同样的错误:

致命错误:第2行的....../B.php中未找到"AA"类

必须有一个选项让PHP能够解析这些类,否则PHPUnit无法工作.有任何想法吗?

谢谢.

edo*_*ian 6

你不应该加载/要求

require_once 'PHPUnit/Framework/TestCase.php';
Run Code Online (Sandbox Code Playgroud)

在你的测试中.普通的phpunit运行器应该能够解决这个问题.

通常IDE 应该关心正确设置phpunit(或正确调用它),但如果这不能解决需要

require_once 'PHPUnit/Autoload.php';
Run Code Online (Sandbox Code Playgroud)

那应该是诀窍,因为这是使PHPUnit工作所需要的