1

我使用带有 PHP 单元测试的 NetBeans 7.3。

测试文件创建工作。我可以通过右键单击创建测试文件:工具->创建 PHP 单元测试。在 Test 文件夹 (filenameTest.php) 中创建新的测试。当我运行测试(Ctr+F6)时,在输出窗口中,我收到错误消息:它找不到我要测试的文件。如果我将原始文件包含在测试文件中,一切正常,我可以运行测试。

我不希望将该 include_once 行手动添加到每个 testFile 中。有没有办法让 NetBeans 自动为我做这件事?或者我如何配置引导文件和/或 phpunit.xml 文件,这样它就可以在不将原始文件包含到测试文件中的情况下工作?

提前致谢。

4

1 回答 1

3

您可以在您的测试文件夹中创建一个bootstrap.php文件,该文件注册一个自动加载器以加载您正在测试的类。然后,您将拥有一个 phpunit.xml 文件,其中包含以下内容:

<phpunit bootstrap="bootstrap.php">
</phpunit>

注册自动加载器将是最简单的解决方案,因为这样您就不必记住包含文件,或者如果您或其他人没有使用 NetBeans,那么创建新测试不会有任何问题。

bootstrap.php 内部将是:

function autoloader($className) {
    *** do logic to set path of file for the class ***
    $classPath = "/base/path/for/file/" . $className;
    require_once($classPath);
}

spl_autoload_register('autoloader');
于 2013-05-24T18:29:04.973 回答