PHPUnit错误“未定义索引:HTTP_HOST”

时间:2013-07-20 09:02:12

标签: php netbeans phpunit

我已声明了HTTP_HOST,如下所示。

public function testReadUser() {

    $_SERVER['HTTP_HOST'] = "x.y";
    .
    .
    .
}

尽管如此,phpunit给出了未定义的索引错误。为什么?

3 个答案:

答案 0 :(得分:24)

phpunit.xml文件中,您可以设置服务器变量。在php根目录下添加phpunit元素:

<phpunit>
    <php>
        <server name='HTTP_HOST' value='http://localhost' />
    </php>
</phpunit>

有关详细信息,请参阅the docs

答案 1 :(得分:3)

它会为您提供该错误,因为您通过命令行界面(CLI)运行测试。 CLI无法获取该信息,因为没有来自HTTP的请求。

答案 2 :(得分:2)

您可以在测试方法中声明值(测试方法所需)。

例如:

function testMethod(){
$_SERVER['yourvar']='yourvalue';
...your code making the request via phpunit to the method you are testing
}

通过在测试方法中声明$ _SERVER,它将可用于您正在测试的方法。如果您需要这些值,那么它适用于$ _POST和$ _GET。