Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHPUnit不';无法识别文件_存在()_Php_Netbeans_Phpunit - Fatal编程技术网

PHPUnit不';无法识别文件_存在()

PHPUnit不';无法识别文件_存在(),php,netbeans,phpunit,Php,Netbeans,Phpunit,我已经在NetBeans中设置了一个带有单元测试文件的项目。我将引导设置为C:\www\foo\\u tests\TestAutoload.php,并将简单的自动加载方法放入该文件: function __autoload( $class_name ) { // series of ifs if ( ... ) { $file_name = ... } if ( file_exists ( $file_name ) ) { req

我已经在NetBeans中设置了一个带有单元测试文件的项目。我将引导设置为
C:\www\foo\\u tests\TestAutoload.php
,并将简单的自动加载方法放入该文件:

function __autoload( $class_name ) {
    // series of ifs
    if ( ... ) {
        $file_name = ...
    }

    if ( file_exists ( $file_name ) ) {
        require_once( $file_name );
    } else {
        echo "autoload error";
    }
}
我所有的测试都以这种方式自动加载失败。它们总是只输出“自动加载错误”。如果我不检查
file\u是否存在
,只需使用一次
require\u($file)
,无论
$file
中有什么,它都能正常工作


以前有人遇到过这样的事情吗?这不是我无法通过简单地不检查文件是否存在来解决的问题,但我感兴趣的是它为什么会这样做,以及我是否能够以某种方式欺骗它。

如果绝对文件名不存在,您可能想尝试对绝对文件名使用file\u exists(),例如
file\u exists($file\u name)
可能是
file\u exists(dirname(\uuuu FILE\uuuu)。“/../myclasses/.$FILE\u name)
,因为(根据安非他明机器的回答),不使用PHP的包含路径设置。

来自:

请注意:如果将相对路径传递给文件_exists,它将返回false,除非该路径恰好与“当前PHP目录”相对(请参见chdir()


在file\u exits函数中指定绝对路径,该函数中的文件路径可能不正确。您使用的是什么?

$file\u名称是完整路径还是相对路径?我原以为是绝对路径,但实际干扰使其成为相对路径:)请,请看我对平戈西奇回答的评论。你为我指明了正确的方向。问题是,我在autoload中使用了$\u SERVER[“DOCUMENT\u ROOT”],这是一个空字符串,因为PHPUnit正在CGI中运行,因此导致将相对路径传递到文件\u exists中。现在我正在解析我自己的“文档根”,它工作得非常好!