Phpunit: assertEquals(): NULL, string benar dan kosong adalah sama

Dibuat pada 15 Sep 2013  ·  3Komentar  ·  Sumber: sebastianbergmann/phpunit

Ketika saya menggunakan metode assertEquals() di kelas PHPUnit_Framework_Testcase dan membandingkan:

_false_ melawan _NULL_,
_string kosong_ terhadap _false_,
_string kosong_ terhadap _NULL_

Semua tes lulus dengan sukses. Tetapi tidak ada nilai yang sama satu sama lain. Jadi assertEquals membandingkan dengan operator "==" alih-alih "===" atau sesuatu seperti itu. Pikir itu seharusnya seperti itu. Tapi kenapa?

Komentar yang paling membantu

Kami memiliki assertSame() untuk === perbandingan.

Semua 3 komentar

Kami memiliki assertSame() untuk === perbandingan.

Oke sempurna. Nama-namanya agak menyesatkan. Tapi ini salahku. Maaf untuk itu.

Tetapi assertSame() hanya akan membandingkan true , jika objeknya sama.

class Foo {}
$this->assertSame(new Foo(), new Foo());
Failed asserting that two variables reference the same object.

Saya memerlukan beberapa kode yang dapat berfungsi seperti ini:

$this->assertSame(new Foo(null), new Foo("")); // false

$this->assertSame(new Foo(null), new Foo(null)); // true
$this->assertSame(new Foo(""), new Foo("")); // true
Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

sebastianbergmann picture sebastianbergmann  ·  3Komentar

gellis picture gellis  ·  4Komentar

greg0ire picture greg0ire  ·  4Komentar

sebastianbergmann picture sebastianbergmann  ·  4Komentar

sebastianbergmann picture sebastianbergmann  ·  4Komentar