Observadores de pruebas unitarias en Magento

14

¿Cómo abordas las pruebas unitarias de Observadores en Magento? (trabajando con EcomDev_PHPUnit )

¿Qué tipo de afirmaciones incluyen?

  • comprobar si se está enviando el evento ( assertEventDispatched())
  • verificar la función con datos simulados
  • ...

Idealmente, me gustaría ver la opinión de otros desarrolladores sobre el enfoque y las afirmaciones hechas.

FlorinelChis
fuente
Exactamente esto. Verifique si su evento es enviado y luego simplemente llame al método del observador con datos simulados y verifique que sea correcto. Idealmente, debe verificar que el observador esté configurado para el evento correcto
Fabian Blechschmidt

Respuestas:

5

También me gusta asegurarme de que se llama al observador cuando se realiza una acción apropiada, por ejemplo, cuando se despacha un catálogo_producto_ahorro_después, luego hacer 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();

Esto fallará si su método no se llama exactamente una vez.

mpaepper
fuente