當(dāng)兩個變量 ?$expected
? 和 ?$actual
? 的值與類型不完全相同時報告錯誤,錯誤訊息由 ?$message
? 指定。
?assertNotSame()
? 是與之相反的斷言,接受相同的參數(shù)。
示例 1.56 assertSame() 的用法
<?php declare(strict_types=1);
use PHPUnit\Framework\TestCase;
final class SameTest extends TestCase
{
public function testFailure(): void
{
$this->assertSame('2204', 2204);
}
}
$ phpunit SameTest
PHPUnit latest.0 by Sebastian Bergmann and contributors.
F
Time: 0 seconds, Memory: 5.00Mb
There was 1 failure:
1) SameTest::testFailure
Failed asserting that 2204 is identical to '2204'.
/home/sb/SameTest.php:6
FAILURES!
Tests: 1, Assertions: 1, Failures: 1.
當(dāng)兩個變量 ?$expected
? 和 ?$actual
? 不是指向同一個對象的引用時報告錯誤,錯誤訊息由 ?$message
? 指定。
示例 1.57 對對象使用 assertSame() 時的用法
<?php declare(strict_types=1);
use PHPUnit\Framework\TestCase;
final class SameTest extends TestCase
{
public function testFailure(): void
{
$this->assertSame(new stdClass, new stdClass);
}
}
$ phpunit SameTest
PHPUnit latest.0 by Sebastian Bergmann and contributors.
F
Time: 0 seconds, Memory: 4.75Mb
There was 1 failure:
1) SameTest::testFailure
Failed asserting that two variables reference the same object.
/home/sb/SameTest.php:6
FAILURES!
Tests: 1, Assertions: 1, Failures: 1.
更多建議: