0

テストファイルでいくつかの変数を定義してから、srcファイルで定義されたテストファイルから関数を呼び出し、結果を確認します。pingを使用している間は機能しませんが、phpまたはphpunitを使用して正常に機能していることを確認します。

例: add.php (ソースファイル) (src ディレクトリにあります)

<?php
function add_two_numbers()
{
    global $a,$b; /* defined in test file*/
    return ($a + $b);
}
?>

その他のファイル:

// add_Test (Test File) (present in the test directory)
<?php
$a = 5;
$b = 3;
require_once ("__DIR__./../src/add.php");

class add_Test extends PHPUnit_Framework_TestCase{
    function testadd()
    {
        $act = 8;
        $res = add_two_numbers();
        $this -> assertTrue($res === $act);
    }
}

?>

今、phpunitを使用すると正常に動作しますが、phingではグローバル変数が設定されていません。これの解決策を教えてください。

4

1 に答える 1

0

テストではグローバル変数を使用しないでください。必要な場合は、setUp() メソッドで定義してください。

問題の理由は、おそらく PHPUnit のbackupGlobals機能です。明示的にアクティブ化/非アクティブ化を試みることもできますが、setUp() ソリューションを使用したいと思います。

于 2013-03-11T07:33:51.797 に答える