Kuharica zbirki Hamcrest

1. Uvod

Ova kuharica ilustrira kako iskoristite Hamcrest mečeve za rad i testiranje kolekcija.

The format kuharice usmjeren je na primjere i praktično - nisu potrebni strani detalji i objašnjenja.

Prvo, napravimo brz statički uvoz kako bismo pokrili većinu API-ja uslužnih programa koje ćemo sljedeći koristiti:

uvezi statički org.hamcrest.Matchers. *;

2. Kuharica

provjerite je li jedan element u zbirci

Zbirka popisa = Lists.newArrayList ("ab", "cd", "ef"); assertThat (collection, hasItem ("cd")); assertThat (collection, not (hasItem ("zz")));

provjeriti je li više elemenata u zbirci

Zbirka popisa = Lists.newArrayList ("ab", "cd", "ef"); assertThat (collection, hasItems ("cd", "ef"));

provjerite sve elemente u zbirci

- uz strogi red

Zbirka popisa = Lists.newArrayList ("ab", "cd", "ef"); assertThat (zbirka, sadrži ("ab", "cd", "ef"));

- s bilo kojim nalogom

Zbirka popisa = Lists.newArrayList ("ab", "cd", "ef"); assertThat (zbirka, sadržiInAnyOrder ("cd", "ab", "ef"));

provjerite je li zbirka prazna

Zbirka popisa = Lists.newArrayList (); assertThat (collection, empty ());

provjerite je li niz prazan

String [] array = new String [] {"ab"}; assertThat (niz, a ne (emptyArray ()));

provjerite je li karta prazna

Zbirka mapa = Maps.newHashMap (); assertThat (collection, jednakTo (Collections.EMPTY_MAP));

provjerite je li Iterable prazan

Iterable zbirka = Lists.newArrayList (); assertThat (collection, emptyIterable ());

provjerite veličinu zbirke

Zbirka popisa = Lists.newArrayList ("ab", "cd", "ef"); assertThat (collection, hasSize (3));

provjera veličine iterabilnog

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

provjerite stanje na svakoj stavci

Zbirka popisa = Lists.newArrayList (15, 20, 25, 30); assertThat (collection, everyItem (većeTan (10)));

3. Zaključak

Ovaj je format eksperiment - objavljujem neke od svojih kuharskih knjiga o unutarnjem razvoju na zadanu temu - Google Guava i sada Hamcrest. Cilj je imati ove informacije lako dostupne na mreži - i dodati ih kad god naletim na novi koristan primjer.

Implementacija svih ovih primjera i isječaka koda možete pronaći na GitHubu - ovo je projekt zasnovan na Mavenu, pa bi ga trebalo biti lako uvesti i pokrenuti kakav jest.


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