Jak otestovat, že kód nevykonává víc věcí, než by měl
- Milanov
- Člen | 51
Ahoj. Máme třídu, která dostane objednávku a službu na poslání e-mailů. Podle toho, v jakém je objednávka stavu a jaké má eventuálně položky, se vytvoří a odešle e-mail.
Dokážu krásně otestovat, jestli třída odesílá správné e-maily. Ale co když odesílá omylem i e-maily pro jiné stavy, pro které si to nepřeji?
Asi bych dokázal udělat objednávky ve všech stavech a vyzkoušet, že se nic nepošle. Ale ty kombinace přibývají s každou doručovací metodou, novým stavem atd. Určitě to není tedy správná cesta.
Jak na to tedy? Díky
- Filip Klimeš
- Nette Blogger | 156
Napadá mě namockovat tu službu na posílání mailů a potom kontrolovat,
kolikrát byla zavolána ta a ta metoda a s jakými parametry.
Zkus např. Mockery nebo Mockistu.
EDIT: aha, špatně jsem si to přečetl. Nicméně namockuj si i objednávky ve všech možných stavech, můžeš zkusit použít dataProvider. S rozšiřováním aplikace budeš muset rozšiřovat i testy, nevidím jinou cestu.
Editoval Filip Klimeš (11. 3. 2015 19:32)