Livro de receitas das coleções de Hamcrest
1. Introdução
Este livro de receitas ilustra comomake use of Hamcrest matchers to work with and test collections.
Oformat of the cookbook is example focusede prático - sem detalhes estranhos e explicações necessárias.
Primeiro, vamos fazer uma importação estática rápida para cobrir a maioria das APIs de utilitário que vamos usar a seguir:
import static org.hamcrest.Matchers.*;
Leitura adicional:
Hamcrest Common Core Matchers
Explore os diferentes métodos da classe CoreMatchers na biblioteca Hamcrest.
Hamcrest Bean Matchers
Aprenda sobre os correspondentes de feijão Hamcrest - uma ferramenta que fornece uma maneira eficaz de fazer afirmações, um recurso frequentemente usado ao escrever testes de unidade.
Testando com Hamcrest
Neste tutorial muito prático, vamos nos concentrar no uso da API Hamcrest e na criação de testes de unidade mais simples e intuitivos para o nosso software.
2. The Cookbook
verifique se um único elemento está em uma coleção
List collection = Lists.newArrayList("ab", "cd", "ef");
assertThat(collection, hasItem("cd"));
assertThat(collection, not(hasItem("zz")));
verifique se vários elementos estão em uma coleção
List collection = Lists.newArrayList("ab", "cd", "ef");
assertThat(collection, hasItems("cd", "ef"));
* verifique todos os elementos de uma coleção *
- com ordem estrita
List collection = Lists.newArrayList("ab", "cd", "ef");
assertThat(collection, contains("ab", "cd", "ef"));
- com qualquer pedido
List collection = Lists.newArrayList("ab", "cd", "ef");
assertThat(collection, containsInAnyOrder("cd", "ab", "ef"));
verifique se a coleção está vazia
List collection = Lists.newArrayList();
assertThat(collection, empty());
verifique se a matriz está vazia
String[] array = new String[] { "ab" };
assertThat(array, not(emptyArray()));
verifique se o mapa está vazio
Map collection = Maps.newHashMap();
assertThat(collection, equalTo(Collections.EMPTY_MAP));
verifique se Iterable está vazio
Iterable collection = Lists.newArrayList();
assertThat(collection, emptyIterable());
verifique o tamanho de uma coleção
List collection = Lists.newArrayList("ab", "cd", "ef");
assertThat(collection, hasSize(3));
verificando o tamanho de um iterável
Iterable collection = Lists.newArrayList("ab", "cd", "ef");
assertThat(collection, Matchers. iterableWithSize(3));
verifique a condição de cada item
List collection = Lists.newArrayList(15, 20, 25, 30);
assertThat(collection, everyItem(greaterThan(10)));
3. Conclusão
Este formato é um experimento - estou publicando alguns dos meus livros de receitas de desenvolvimento interno sobre um determinado tópico -Google Guavae agora Hamcrest. O objetivo é ter essas informações prontamente disponíveis on-line - e adicioná-las sempre que encontrar um novo exemplo útil.
A implementação de todos esses exemplos e trechos de códigocan be found over on GitHub - este é um projeto baseado em Maven, portanto, deve ser fácil de importar e executar como está.