Obserwatorzy testów jednostkowych w Magento

14

Jak podchodzisz do testów jednostkowych obserwatorów w Magento? (działa z EcomDev_PHPUnit )

Jakie rodzaje twierdzeń obejmują?

  • sprawdź, czy zdarzenie jest wywoływane ( assertEventDispatched())
  • sprawdź funkcję za pomocą fałszywych danych
  • ...

Idealnie chciałbym zobaczyć opinię innych programistów na temat przyjętego podejścia i stwierdzeń.

FlorinelChis
źródło
Dokładnie to. Sprawdź, czy zdarzenie zostało wywołane, a następnie po prostu wywołaj metodę obserwatora z próbnymi danymi i sprawdź, czy jest poprawny. Idealnie powinieneś sprawdzić, czy obserwator jest skonfigurowany do prawidłowego zdarzenia
Fabian Blechschmidt

Odpowiedzi:

5

Chciałbym również upewnić się, że obserwator jest faktycznie wywoływany podczas wykonywania odpowiedniej akcji, np. Po wysłaniu katalogu_produktu_save_save, a następnie wykonaj coś takiego:

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

To się nie powiedzie, jeśli twoja metoda nie zostanie wywołana dokładnie raz.

mpaepper
źródło