當 ?$expected
? 和 ?$actual
? 之間的差的絕對值大于 ?$delta
? 時報告錯誤,錯誤訊息由 ?$message
? 指定。
請閱讀《What Every Computer Scientist Should Know About Floating-Point Arithmetic》來了解為什么需要有 ?$delta
?。
?assertNotEqualsWithDelta()
? 是與之相反的斷言,接受相同的參數(shù)。
示例 1.20 assertEqualsWithDelta() 的用法
<?php declare(strict_types=1);
use PHPUnit\Framework\TestCase;
final class EqualsWithDeltaTest extends TestCase
{
public function testFailure()
{
$this->assertEqualsWithDelta(1.0, 1.5, 0.1);
}
}
$ phpunit EqualsWithDeltaTest
PHPUnit latest.0 by Sebastian Bergmann and contributors.
F 1 / 1 (100%)
Time: 41 ms, Memory: 6.00 MB
There was 1 failure:
1) EqualsWithDeltaTest::testFailure
Failed asserting that 1.5 matches expected 1.0.
/home/sb/EqualsWithDeltaTest.php:8
FAILURES!
Tests: 1, Assertions: 1, Failures: 1.
更多建議: