Magento中的单元测试观察员


14

您如何处理Magento中的单元测试观察员?(使用EcomDev_PHPUnit

包括哪些断言?

  • 检查事件是否已调度(assertEventDispatched()
  • 用模拟数据检查功能
  • ...

理想情况下,我希望看到其他开发人员对方法和声明的看法。


就是这个 检查事件是否已调度,然后仅使用模拟数据调用观察者方法并检查其是否正确。理想情况下,您应该检查观察者是否配置了正确的事件
Fabian Blechschmidt 2013年

Answers:


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

如果您的方法未完全调用一次,则将失败。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.