Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Testowaniezatwierdzające
EmilyBache
Czykiedykolwiekzdarzyłocisięnapisaćtwierdzenietestowezbłędnąlubpustą
wartością?Cośtakiego:
assertEquals("",functionCall())
WtedyfunctionCallzwracałańcuch,atyniejesteśpewien,jakidokładniepowi-
nienonbyć,alebędzieszwiedział,żejestwłaściwy,gdygozobaczysz.Oczywi-
ściepopierwszymuruchomieniutestukończysięonniepowodzeniem,ponieważ
functionCallzwracałańcuch,któryniejestpusty.(Byćmożetrzebawykonaćkilka
prób,zwracanawartośćbędziewyglądaćpoprawnie.)Następniewklejaszwar-
tośćzamiastpustegołańcuchawassertEquals.Teraztestpowinienzakończyćsię
pomyślnie.Sukces!Towłaśnienazwałabymtestemzatwierdzającym.
Decydującymkrokiemjesttutajpodjęciedecyzji,którywynikjestpoprawnyiuży-
ciegojakowartościoczekiwanej.Wyniknzatwierdzamy”-jestnatyledobry,że
możnagoprzyjąć.Spodziewamsię,żerobiłeścośtakiego,nawetniemyślącotym.
Byćmożenadasztemuinnąnazwę:określasiętorównieżtestowaniemmigawkowym
lubtestowaniemgoldenmaster.Zmojegodoświadczeniawynika,żejeślimaszplat-
formętestowązaprojektowanąspecjalniedotegotyputestów,wszystkodobrzesię
składaitestowaniewtensposóbstajesięłatwiejsze.
Wprzypadkuklasycznegoframeworkadlatestówjednostkowych,takiegojak
JUnit,aktualizacjatakichoczekiwanychłańcuchów,gdysięzmieniają,możebyć
niecożmudna.Kończysiętowklejaniemróżnychrzeczybezpośredniowkodzie
źródłowym.Wprzypadkunarzędziadotestówzatwierdzających,tegotypułań-
cuchzostaniezatozapisanywpliku.Toodrazuotwieranowemożliwości.Możesz
użyćodpowiedniegonarzędziadoporównywania,abyprzejśćprzezzmianyiscalić
jejednapodrugiej.Możeszmiećmożliwośćpodświetlaniaskładnidlałańcuchów
JSONitympodobnych.Możeszwyszukiwaćizamieniaćaktualizacjemiędzytestami
wróżnychklasach.
Testowaniezatwierdzające
3