Kuchárska kniha zbierok Hamcrest

1. Úvod

Táto kuchárska kniha ilustruje, ako na to na prácu a testovanie zbierok využívajte porovnávače Hamcrest.

The formát kuchárskej knihy je zameraný na príklad a praktické - nie sú potrebné žiadne ďalšie podrobnosti a vysvetlenia.

Najskôr urobme rýchly statický import, ktorý pokryje väčšinu užitočných rozhraní API, ktoré budeme ďalej používať:

importovať statický org.hamcrest.Matchers. *;

2. Kuchárska kniha

skontrolujte, či je jeden prvok v zbierke

Zoznam zbierok = Lists.newArrayList ("ab", "cd", "ef"); assertThat (kolekcia, hasItem ("cd")); assertThat (kolekcia, nie (hasItem ("zz")));

skontrolujte, či sa v zbierke nachádza viac prvkov

Zoznam zbierok = Lists.newArrayList ("ab", "cd", "ef"); assertThat (zbierka, hasItems ("cd", "ef"));

skontrolovať všetky prvky v zbierke

- s prísnym príkazom

Zoznam zbierok = Lists.newArrayList ("ab", "cd", "ef"); assertThat (kolekcia, obsahuje ("ab", "cd", "ef"));

- s ľubovoľnou objednávkou

Zoznam zbierok = Lists.newArrayList ("ab", "cd", "ef"); assertThat (zbierka, obsahujeInAnyOrder ("cd", "ab", "ef"));

skontrolujte, či je zbierka prázdna

Zoznam zbierok = Lists.newArrayList (); assertThat (zbierka, prázdne ());

skontrolujte, či je pole prázdne

Reťazec [] pole = nový Reťazec [] {"ab"}; assertThat (pole, nie (emptyArray ()));

skontrolujte, či je mapa prázdna

Zbierka máp = Maps.newHashMap (); assertThat (kolekcia, equalTo (Collections.EMPTY_MAP));

skontrolujte, či je položka Iterable prázdna

Iterovateľná kolekcia = Lists.newArrayList (); assertThat (collection, emptyIterable ());

skontrolujte veľkosť zbierky

Zoznam zbierok = Lists.newArrayList ("ab", "cd", "ef"); assertThat (kolekcia, hasSize (3));

kontrola veľkosti iterácie

Iterable collection = Lists.newArrayList ("ab", "cd", "ef"); assertThat (kolekcia, zhody. iterableWithSize (3));

skontrolujte stav každej položky

Zoznam zbierok = Lists.newArrayList (15, 20, 25, 30); assertThat (collection, everyItem (greaterThan (10)));

3. Záver

Tento formát je experimentom - vydávam niektoré svoje interné vývojové kuchárske knihy na danú tému - Google Guava a teraz Hamcrest. Cieľom je mať tieto informácie ľahko dostupné online - a doplniť ich, kedykoľvek narazím na nový užitočný príklad.

Implementácia všetkých týchto príkladov a útržkov kódu nájdete na GitHub - toto je projekt založený na Maven, takže by malo byť ľahké ho importovať a spustiť tak, ako je.


$config[zx-auto] not found$config[zx-overlay] not found