Observadores de Teste de Unidade em Magento

14

Como você aborda os observadores de testes de unidade no Magento? (trabalhando com EcomDev_PHPUnit )

Que tipo de afirmações incluem?

  • verifique se o evento está sendo despachado ( assertEventDispatched())
  • verifique a função com dados simulados
  • ...

Idealmente, gostaria de ver a opinião de outros desenvolvedores sobre a abordagem e as afirmações feitas.

FlorinelChis
fonte
Exatamente isso. Verifique se o seu evento foi despachado e depois chame o método observador com dados simulados e verifique se está correto. Idealmente, você deve verificar se o observador está configurado para o evento correto #
Fabian Blechschmidt

Respostas:

5

Também gosto de garantir que o observador seja chamado de fato ao executar uma ação apropriada, por exemplo, quando você envia um catalog_product_save_after, faça algo como:

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

Isso falhará se o seu método não for chamado exatamente uma vez.

mpaepper
fonte