在PHPUnit中,assertEquals()函数

时间:2015-05-11 02:22:30

标签: php phpunit

我刚开始使用PHPUnit,我对$maxDepthPHPUnit_Framework_Assert变量的用途是什么感到困惑?

  

PHPUnit_Framework_Assert

public static function assertEquals($expected, $actual, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
{
    $constraint = new PHPUnit_Framework_Constraint_IsEqual(
        $expected,
        $delta,
        $maxDepth,
        $canonicalize,
        $ignoreCase
    );

    self::assertThat($actual, $constraint, $message);
}

我搜索了所有代码并且没有在任何地方记录,而且似乎在设置变量时根本没有使用它。也许我错过了一些东西,有人可以对此提供一些见解吗?

1 个答案:

答案 0 :(得分:1)

不完全确定,但我相信如果您断言两个复杂的多维对象或数组应该相等,那么$maxDepth就可以防止断言进入多个维度进入平等。如果$maxDepth = 2,则$somePopulatedArray[0][4][5][4] = 10$someOtherPopulatedArray[0][4][5][4] = 30仍会通过。例如,如果您只需要检查两个数组是否具有相同的大小或包含相同的顶级值。