當(dāng)兩個(gè)變量 ?$expected
? 和 ?$actual
? 不相等時(shí)報(bào)告錯(cuò)誤,錯(cuò)誤訊息由 ?$message
? 指定。
先對(duì) ?$expected
? 和 ?$actual
? 進(jìn)行規(guī)范化,然后再進(jìn)行比較。例如,如果兩個(gè)變量 ?$expected
? 和 ?$actual
? 是數(shù)組,則會(huì)先對(duì)這些數(shù)組進(jìn)行排序然后再進(jìn)行比較。當(dāng) ?$expected
? 和 ?$actual
? 是對(duì)象時(shí),則每個(gè)對(duì)象都會(huì)被轉(zhuǎn)換為一個(gè)包含所有私有、保護(hù)、和公開屬性的數(shù)組。
?assertNotEqualsCanonicalizing()
? 是與之相反的斷言,接受相同的參數(shù)。
示例 1.18 assertEqualsCanonicalizing() 的用法
<?php declare(strict_types=1);
use PHPUnit\Framework\TestCase;
final class EqualsCanonicalizingTest extends TestCase
{
public function testFailure()
{
$this->assertEqualsCanonicalizing([3, 2, 1], [2, 3, 0, 1]);
}
}
$ phpunit EqualsCanonicalizingTest
PHPUnit latest.0 by Sebastian Bergmann and contributors.
F 1 / 1 (100%)
Time: 42 ms, Memory: 6.00 MB
There was 1 failure:
1) EqualsCanonicalizingTest::testFailure
Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
Array (
- 0 => 1
- 1 => 2
- 2 => 3
+ 0 => 0
+ 1 => 1
+ 2 => 2
+ 3 => 3
)
/home/sb/EqualsCanonicalizingTest.php:8
FAILURES!
Tests: 1, Assertions: 1, Failures: 1.
更多建議: