Osservatori di unit test in Magento


14

Come affronti gli osservatori di unit test in Magento? (lavorando con EcomDev_PHPUnit )

Che tipo di affermazioni includono?

  • controlla se l'evento viene inviato ( assertEventDispatched())
  • controlla la funzione con dati simulati
  • ...

Idealmente, vorrei vedere l'opinione di altri sviluppatori sull'approccio e le asserzioni fatte.


Esattamente questo. Controlla se il tuo evento è stato inviato, quindi chiama semplicemente il metodo dell'osservatore con dati fittizi e verifica che sia corretto. Idealmente, dovresti verificare che l'osservatore sia configurato per l'evento corretto
Fabian Blechschmidt,

Risposte:


5

Mi piace anche assicurare che l'osservatore sia effettivamente chiamato quando fa un'azione appropriata, ad esempio quando invii un catalog_product_save_after, quindi fai qualcosa del tipo:

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

Questo fallirà se il tuo metodo non viene chiamato esattamente una volta.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.