Hamcrest Collections Kochbuch

Hamcrest Collections Kochbuch

1. Einführung

Dieses Kochbuch zeigt, wie manmake use of Hamcrest matchers to work with and test collections macht.

Dieformat of the cookbook is example focused und praktisch - keine überflüssigen Details und Erklärungen erforderlich.

Lassen Sie uns zunächst einen schnellen statischen Import durchführen, um die meisten Dienstprogramm-APIs abzudecken, die wir als Nächstes verwenden werden:

import static org.hamcrest.Matchers.*;

Weitere Lektüre:

Common Core Matcher von Hamcrest

Entdecken Sie die verschiedenen Methoden der CoreMatchers-Klasse in der Hamcrest-Bibliothek.

Read more

Hamcrest Bean Matchers

Erfahren Sie mehr über Hamcrest-Bohnen-Matcher - ein Tool, mit dem Sie Aussagen auf effektive Weise treffen können, eine häufig verwendete Funktion beim Schreiben von Unit-Tests.

Read more

Testen mit Hamcrest

In diesem sehr praktischen Tutorial konzentrieren wir uns auf die Verwendung der Hamcrest-API und auf das Schreiben übersichtlicherer und intuitiverer Komponententests für unsere Software.

Read more

2. Das Kochbuch

Überprüfen Sie, ob sich ein einzelnes Element in einer Sammlung befindet

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

Überprüfen Sie, ob sich mehrere Elemente in einer Sammlung befinden

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

* überprüfe alle Elemente in einer Sammlung *

- mit strenger Ordnung

List collection = Lists.newArrayList("ab", "cd", "ef");
assertThat(collection, contains("ab", "cd", "ef"));

- bei jeder Bestellung

List collection = Lists.newArrayList("ab", "cd", "ef");
assertThat(collection, containsInAnyOrder("cd", "ab", "ef"));

Überprüfen Sie, ob die Sammlung leer ist

List collection = Lists.newArrayList();
assertThat(collection, empty());

Überprüfen Sie, ob das Array leer ist

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

Überprüfen Sie, ob die Karte leer ist

Map collection = Maps.newHashMap();
assertThat(collection, equalTo(Collections.EMPTY_MAP));

Überprüfen Sie, ob Iterable leer ist

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

Überprüfen Sie die Größe einer Sammlung

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

Überprüfen der Größe eines iterable

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

Überprüfen Sie den Zustand jedes Artikels

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

3. Fazit

Dieses Format ist ein Experiment. Ich veröffentliche einige meiner internen Entwicklungskochbücher zu einem bestimmten Thema -Google Guava und jetzt Hamcrest. Das Ziel ist es, diese Informationen online verfügbar zu machen - und sie zu ergänzen, wenn ich auf ein neues nützliches Beispiel stoße.

Die Implementierung all dieser Beispiele und Codefragmentecan be found over on GitHub - dies ist ein Maven-basiertes Projekt, daher sollte es einfach zu importieren und auszuführen sein, wie es ist.