PHP 单元 | assertEqualsCanonicalizing()函数
assertEqualsCanonicalizing()函数是 PHPUnit 中的内置函数,用于断言预期变量和实际变量是否规范地相等。规范等于意味着在实际比较之前,两个数组都将被排序和比较。如果预期和实际相同,则此断言将返回 true,否则返回 false。如果为真,则断言的测试用例通过,否则测试用例失败。
句法:
assertEqualsCanonicalizing( mixed $expected, mixed $actual, string $message = '' )
参数:此函数接受三个参数,如上述语法所示。参数说明如下:
- $expected:这个参数是一个混合变量,表示期望值。
- $actual:此参数是一个混合变量,表示要与预期进行比较的实际值。
- $message:此参数采用字符串值。当测试用例失败时,此字符串消息显示为错误消息。
下面的程序说明了 PHPUnit 中的 assertEqualsCanonicalizing()函数:
方案一:
assertEqualsCanonicalizing(
$expected, $actual,
"expected and actual are not canonically equals"
);
}
}
?>
输出:
PHPUnit 8.2.5 by Sebastian Bergmann and contributors.
F 1 / 1 (100%)
Time: 65 ms, Memory: 10.00 MB
There was 1 failure:
1) GeeksPhpunitTestCase::testNegativeTestcaseForAssertEqualsCanonicalizing
expected and actual are not canonically equals
Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
Array (
0 => 1
1 => 2
- 2 => 3
+ 2 => 2
3 => 4
)
/home/shivam/Documents/geeks/phpunit/abc.php:13
FAILURES!
Tests: 1, Assertions: 1, Failures: 1.
方案二:
assertEqualsCanonicalizing(
$expected, $actual,
"expected and actual are not canonically equals"
);
}
}
?>
输出:
PHPUnit 8.2.5 by Sebastian Bergmann and contributors.
. 1 / 1 (100%)
Time: 67 ms, Memory: 10.00 MB
OK (1 test, 1 assertion)
注意:要使用 phpunit 运行测试用例,请按照此处的步骤操作。此外,phpunit 7 及更高版本支持 assertEqualsCanonicalizing()。