使用phing访问src文件中unit testcase文件中定义的变量


Accessing variables defined in unit testcase file in src file using phing

我在测试文件中定义了一些变量,然后我从src文件中定义的测试文件中调用函数并验证结果,然后使用phing它不工作,但如果我使用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全局变量没有设置。请告诉我一个解决办法。

您不应该在测试中使用全局变量。如果需要,可以在setUp()方法中定义它们。

问题的原因可能是PHPUnit的backupGlobals特性。您可以尝试显式激活/停用它,但我宁愿使用setUp()解决方案。