Observateurs de tests unitaires à Magento

14

Comment abordez-vous les observateurs de tests unitaires dans Magento? (en collaboration avec EcomDev_PHPUnit )

Quels types d'affirmations incluent-ils?

  • vérifier si l'événement est distribué ( assertEventDispatched())
  • vérifier la fonction avec des données factices
  • ...

Idéalement, j'aimerais voir l'opinion d'autres développeurs concernant l'approche et les affirmations faites.

FlorinelChis
la source
Exactement ça. Vérifiez si votre événement est distribué, puis appelez simplement la méthode d'observateur avec des données factices et vérifiez qu'elle est correcte. Idéalement, vous devriez vérifier que l'observateur est configuré pour l'événement correct
Fabian Blechschmidt

Réponses:

5

J'aime également m'assurer que l'observateur est effectivement appelé lors d'une action appropriée, par exemple lorsque vous envoyez un catalog_product_save_after, puis faites quelque chose comme:

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

Cela échouera si votre méthode n'est pas appelée une seule fois.

mpaepper
la source