Phpunit: assertEquals (): سلسلة فارغة ، صحيحة وفارغة هي نفسها

تم إنشاؤها على ١٥ سبتمبر ٢٠١٣  ·  3تعليقات  ·  مصدر: sebastianbergmann/phpunit

عندما أستخدم طريقة assertEquals () في فئة PHPUnit_Framework_Testcase وقارن:

_false_ ضد _NULL_ ،
_سلسلة فارغة_ مقابل _false_ ،
_ سلسلة فارغة_ مقابل _NULL_

جميع الاختبارات تمر بنجاح. لكن لا توجد قيمة متساوية مع بعضها البعض. لذلك يقارن assertEquals مع عامل التشغيل "==" بدلاً من "===" أو شيء من هذا القبيل. أعتقد أنه من المفترض أن يكون كما هو. لكن لماذا؟

التعليق الأكثر فائدة

لدينا assertSame() === للمقارنات

ال 3 كومينتر

لدينا assertSame() === للمقارنات

حسنًا ، رائع. الأسماء مضللة بعض الشيء. لكن هذا خطأي. اسف على ذلك.

لكن assertSame() سيقارن فقط true ، إذا كانت العناصر هي نفسها.

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

أحتاج إلى بعض التعليمات البرمجية التي يمكن أن تعمل مثل هذا:

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

$this->assertSame(new Foo(null), new Foo(null)); // true
$this->assertSame(new Foo(""), new Foo("")); // true
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات