17

以下に示すように、HTTP_HOST を宣言しました。

public function testReadUser() {

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

これにもかかわらず、phpunit は未定義のインデックス エラーを返します。それはなぜです?

4

3 に答える 3

35

ファイルでは、phpunit.xmlサーバー変数を設定できます。ルートphpの下に要素を追加します。phpunit

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

詳細については、ドキュメントを参照してください。

于 2013-11-19T22:48:41.017 に答える
4

コマンド ライン インターフェイス (CLI) 経由でテストを実行しているため、このエラーが発生します。HTTP 経由で着信する要求がないため、CLI はその情報を取得できません。

于 2013-07-20T09:04:37.457 に答える
2

テスト メソッドで (テストするメソッドで必要な) 値を宣言できます。

例えば:

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

テスト メソッドで $_SERVER を宣言すると、テストしているメソッドで使用できるようになります。これらの値が必要な場合は、 $_POST および $_GET でも機能します。

于 2014-10-28T19:34:39.123 に答える