0

我想在 phpunit 中测试我的 php 应用程序。我的问题是 require_once 没有找到我想要测试的文件。我收到此错误:

Warning:
require_once(C:\MyProject\phpunit-tesztek\include/../include/form.php):
failed to open stream: No such file or directory in
C:\MyProject\phpunit-tesztek\include\FormTest.php on line 4

所以它在 include/../include/form.php 中搜索 form.php 文件有什么问题。

我使用了这段代码:

require_once 'PHPUnit/Autoload.php';
require_once(__DIR__.'/../include/form.php');

测试文件位于 C:\MyProject\phpunit-tesztek\include\FormTest.php

我要测试的文件在:C:\MyProject\include\form.php

问题是什么?

4

3 回答 3

4

问题是相对路径。使用__DIR__文件所在的目录,没有尾随分隔符。然后,您将使用相对路径 ( /../) 更改路径以向上一个目录。

请参阅手册条目 -> PHP 手册__DIR__

__DIR__ will return C:\MyProject\phpunit-tesztek\include

您正在寻找使用C:\MyProject\include\路径

__DIR__ . '/../../include/Form.php';

我通常使用dirname(__FILE__)我自己,因为它获取源代码文件的当前目录(这是绝对的),允许我的相对路径从该位置移动。

于 2013-10-02T14:59:49.890 回答
0

尝试删除../

require_once(DIR.'include/form.php');

于 2013-10-02T09:26:16.807 回答
0

使用魔法常数DIR

require_once(__DIR__ . '/../include/form.php');
于 2013-10-02T09:28:11.907 回答