Hamcrest Collections Cookbook

Hamcrest Collections Livre de recettes

1. introduction

Ce livre de recettes illustre commentmake use of Hamcrest matchers to work with and test collections.

Lesformat of the cookbook is example focused et pratiques - pas de détails et d'explications superflus nécessaires.

Commençons par effectuer une importation statique rapide pour couvrir la plupart des API utilitaires que nous allons utiliser ensuite:

import static org.hamcrest.Matchers.*;

Lectures complémentaires:

Hamcrest Common Core Matchers

Explorez les différentes méthodes de la classe CoreMatchers dans la bibliothèque Hamcrest.

Read more

Matchers de haricots Hamcrest

Apprenez-en davantage sur les adaptateurs de haricots Hamcrest - un outil qui fournit un moyen efficace de faire des assertions, une fonctionnalité fréquemment utilisée lors de la rédaction de tests unitaires.

Read more

Test avec Hamcrest

Dans ce tutoriel très pratique, nous nous concentrons sur l’utilisation de l’API Hamcrest et sur l’écriture de tests unitaires plus simples et plus intuitifs pour notre logiciel.

Read more

2. Le livre de recettes

vérifier si un seul élément est dans une collection

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

vérifier si plusieurs éléments sont dans une collection

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

* vérifier tous les éléments d'une collection *

- avec ordre strict

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

- avec n'importe quelle commande

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

vérifier si la collection est vide

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

vérifier si le tableau est vide

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

vérifier si la carte est vide

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

vérifier si Iterable est vide

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

vérifier la taille d'une collection

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

vérification de la taille d'un itérable

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

vérifier l'état de chaque article

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

3. Conclusion

Ce format est une expérience - je publie certains de mes livres de recettes de développement interne sur un sujet donné -Google Guava et maintenant Hamcrest. L’objectif est d’avoir ces informations facilement accessibles en ligne et de les compléter chaque fois que je rencontre un nouvel exemple utile.

L'implémentation de tous ces exemples et extraits de codecan be found over on GitHub - il s'agit d'un projet basé sur Maven, il devrait donc être facile à importer et à exécuter tel quel.