assertEquals()
assertEquals(mixed $expected, mixed $actual[, string $message = ''])
Laporan kesalahan mengidetifikasi oleh $message
jika dua variabel expected
dan $actual
itu tidak sama
assertNotEquals()
merupakan kebalikan dari assertNotEquals()
dan memiliki argumen yang sama
assertAttributeEquals()
dan assertAttributeNotEquals()
adalah memiliki karakteristik yang bisa digunakan public
, protected
atau private
atribute dari sebuah class atau object yang memiliki sama-sama memiliki nilai
Untuk catatan, ketika kita menggunakan assertEquals()
dan assertNotEquals()
dimana satu variabel yaitu nol (salah satunya integer atau float) dan variable berikutnya adalah string, variable dengan tipe tersebut akan dicompare (i.e. === comparison operator, not the normal == comparison operator)
. Ini akan menjadi sebuah masalah didalam satu case yang mana kita asumsikan 0 == ""
bernilai true
, tetapi faktanya nilai tersebut bernilai false
ketika kita mengimplementasikan method assertEquals()
atau assertNotEquals()
<?php
class EqualsTest extends PHPUnit_Framework_TestCase
{
public function testFailure()
{
$this->assertEquals(1, 0);
}
public function testFailure2()
{
$this->assertEquals('bar', 'baz');
}
public function testFailure3()
{
$this->assertEquals("foo\nbar\nbaz\n", "foo\nbah\nbaz\n");
}
public function testFailure4()
{
$this->assertEquals("", 0)
}
}
?>
Dibawah ini hasil dari compilasi pengetesan menggunakan assertEquals()
Kita mencoba lebih banyak lagi comparingnya dengan menggunakan sebuah argumen yang memiliki tipe spesifik untuk $expected
dan $actual
sebagai berikut.
assertEquals(float $expected, float $actual[, string $message = '', float $delta = 0])
Reports an error identified by $message if the two floats $expected and $actual are not within $delta of each other.
Laporan error diidentifikasi oleh $message
jika dua tipe data float $expected
dan $actual
tidak bersama dengan $delta
dan yang lainnya.
Silahkan baca Setiap Seorang Scientist komputer Harus Mengerti Mengenai Floating-Point Arithmetic untuk lebih mengeri mengenai kenapa $delta
perlu digunakan.
Contoh A.14: Penggunaan assertEquals() dengan floats
<?php
class EqualsTest extends PHPUnit_Framework_TestCase
{
public function testSuccess()
{
$this->assertEquals(1.0, 1.1, '', 0.2);
}
public function testFailure()
{
$this->assertEquals(1.0, 1.1);
}
}
?>
Dibawah ini hasil dari compilasi pengetesan menggunakan assertEquals()
assertEquals(DOMDocument $expected, DOMDocument $actual[, string $message = ''])
Laporan error diidentifikasi oleh $message
jika tanda komentar yang resmi dari dokumen XML yang mewakili dari dua DOMDocument objek $expected
dan $actual
yaitu tidak sama.
Contoh A.15: Penggunaan assertEquals() dengan DOMDocument objects
<?php
class EqualsTest extends PHPUnit_Framework_TestCase
{
public function testFailure()
{
$expected = new DOMDocument;
$expected->loadXML('<foo><bar/></foo>');
$actual = new DOMDocument;
$actual->loadXML('<bar><foo/></bar>');
$this->assertEquals($expected, $actual);
}
}
?>
Dibawah ini hasil dari compilasi pengetesan menggunakan assertEquals()
assertEquals(object $expected, object $actual[, string $message = ''])
Laporan error yang diidentifikasi oleh $message
jika dua objek $expected
dan $actual
tidak memiliki nilai atribute yang sama.
Contoh A.16: Penggunaan assertEquals() dengan objects
<?php
class EqualsTest extends PHPUnit_Framework_TestCase
{
public function testFailure()
{
$expected = new stdClass;
$expected->foo = 'foo';
$expected->bar = 'bar';
$actual = new stdClass;
$actual->foo = 'bar';
$actual->baz = 'bar';
$this->assertEquals($expected, $actual);
}
}
?>
Dibawah ini hasil dari compilasi pengetesan menggunakan assertEquals()
assertEquals(array $expected, array $actual[, string $message = ''])
Laporan error yang diidentifikasi oleh $message
ika kedua array $expected
dan $actual
tidak sama.
Contoh A.17: Penggunaan assertEquals() dengan arrays
<?php
class EqualsTest extends PHPUnit_Framework_TestCase
{
public function testFailure()
{
$this->assertEquals(array('a', 'b', 'c'), array('a', 'c', 'd'));
}
}
?>
Dibawah ini hasil dari compilasi pengetesan menggunakan assertEquals()