Aby JUnit test neselhal na první assert

Chtěl bych navázat na článek Parametrizovaný JUnit test a pokračovat tak v představování vlastností JUnit, o kterých dost programátoru neví, nebo je alespoň denně nepoužívají.

Jsem zastáncem toho, aby jednotlivé testy byly co nejkratší a samozřejmě na sobě nezávislé. Raději napíšu deset testovacích metod s jedním assertem, než jednu metodu s deseti asserty (viz kritizovaný test validátoru rodných čísel). Výhodu spatřuji v tom, že při jediném běhu testu vidíte na jediný pohled všechny vadné případy. A ne že opravíte první assert, spustíte test a padne vám hned druhý assert v pořadí.

Jiné je to v případě integračních testů, například Selenium (WebDriver). Samotná příprava dat je náročná, takže je vhodné asserty sdružovat do větších celků. Ale jak z jediného běhu získat co nejvíce informací, aniž byste museli test znovu a znovu opakovat?

Existuje šikovná implementace rozhraní TestRule, v podobě ErrorCollector, který sbírá vzniklé chyby, ale reportuje je až nakonec.

Diskuzní příspěvky
Zatím zde nejsou žádné zprávy