0

我在我的测试文件中定义了一些变量然后我从我在 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 时未设置全局变量。请告诉我一个解决方案。

4

1 回答 1

0

您不应该在测试中使用全局变量。如果必须,请在 setUp() 方法中定义它们。

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

于 2013-03-11T07:33:51.797 回答