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.
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.
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.
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.