Penguji Penguji Unit di Magento

14

Bagaimana Anda mendekati pengamat pengujian unit di Magento? (bekerja dengan EcomDev_PHPUnit )

Pernyataan seperti apa yang termasuk?

  • periksa apakah acara sedang dikirim ( assertEventDispatched())
  • periksa fungsinya dengan data tiruan
  • ...

Idealnya saya ingin melihat pendapat pengembang lain tentang pendekatan dan pernyataan yang dibuat.

FlorinelChis
sumber
Persis seperti ini. Periksa apakah acara Anda dikirim dan kemudian panggil metode pengamat dengan data tiruan dan periksa apakah itu benar. Idealnya Anda harus memeriksa bahwa pengamat dikonfigurasi untuk acara yang benar
Fabian Blechschmidt

Jawaban:

5

Saya juga ingin memastikan bahwa pengamat dipanggil saat melakukan tindakan yang sesuai, misalnya ketika Anda mengirim catalog_product_save_after, lalu lakukan sesuatu seperti:

// 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();

Ini akan gagal jika metode Anda tidak dipanggil tepat sekali.

mpaepper
sumber