我使用NetBeans 7.3和PHP单元测试。
测试文件创建有效。我可以通过右键单击创建测试文件:tools->创建PHP单元测试。在Test文件夹(filenameTest.php)中创建新测试。 当我运行测试(Ctr + F6)时,在输出窗口中,我收到错误说:它找不到我要测试的文件。如果我将原始文件include_once放入测试文件中,一切正常,我可以运行测试。
我不希望手动将include_once行添加到每个testFile中。 有没有办法让NetBeans自动为我做这件事?或者我如何配置bootstrap文件和/或phpunit.xml文件,这样它可以在不将原始文件包含到testfile的情况下工作?
提前致谢。
答案 0 :(得分:3)
您可以在tests文件夹中创建一个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');