ผู้สังเกตการณ์ทดสอบหน่วยในวีโอไอพี


14

คุณเข้าหาผู้ทดสอบผู้สังเกตการณ์ใน Magento ได้อย่างไร (ทำงานกับEcomDev_PHPUnit )

การยืนยันประเภทใดที่รวมถึง?

  • ตรวจสอบว่าเหตุการณ์กำลังถูกส่ง ( assertEventDispatched())
  • ตรวจสอบฟังก์ชั่นด้วยข้อมูลจำลอง
  • ...

เป็นการดีที่ฉันต้องการที่จะเห็นความคิดเห็นของนักพัฒนาคนอื่นเกี่ยวกับวิธีการและการยืนยันที่ทำ


ตรงนี้ ตรวจสอบว่าเหตุการณ์ของคุณได้รับการจัดส่งหรือไม่จากนั้นเพียงเรียกเมธอด observer พร้อมข้อมูลจำลองและตรวจสอบว่าถูกต้อง เป็นการดีที่คุณควรตรวจสอบว่าผู้สังเกตการณ์ได้รับการกำหนดค่าสำหรับเหตุการณ์ที่ถูกต้อง
Fabian Blechschmidt

คำตอบ:


5

ฉันต้องการรับรองว่าผู้สังเกตการณ์นั้นถูกเรียกเมื่อทำการกระทำที่เหมาะสมเช่นเมื่อคุณส่ง catalog_product_save_after จากนั้นทำสิ่งต่อไปนี้

// initialize $mock as your observer
$mock->expects($this->once())
     ->method('catalogProductSaveAfter')
     ->will($this->returnSelf()); // the observer usually returns itself
$product = Mage::getModel('catalog/product')->load(4);
// Do action which should dispatch your event once
$product->setName("test")->save();

สิ่งนี้จะล้มเหลวหากวิธีการของคุณไม่ได้ถูกเรียกอย่างแน่นอน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.