Magentoでのユニットテストオブザーバー


14

Magentoのユニットテストオブザーバーにどのようにアプローチしますか?(EcomDev_PHPUnitでの作業

どのようなアサーションが含まれますか?

  • イベントがディスパッチされているかどうかを確認します(assertEventDispatched()
  • モックデータで関数を確認する
  • ...

理想的には、他の開発者がアプローチとアサーションに関して意見を述べたいと思います。


まさにこれ。イベントがディスパッチされているかどうかを確認し、モックデータでオブザーバーメソッドを呼び出して、それが正しいことを確認します。理想的には、観察者が正しいイベント用に設定されていることを確認する必要があります
ファビアン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.