Кулинарная книга коллекций Hamcrest

Коллекции Хамкрестов Поваренная книга

1. Вступление

Эта поваренная книга показывает, какmake use of Hamcrest matchers to work with and test collections.

format of the cookbook is example focused и практический - никаких посторонних подробностей и пояснений не требуется.

Во-первых, давайте сделаем быстрый статический импорт, чтобы охватить большинство служебных API, которые мы собираемся использовать дальше:

import static org.hamcrest.Matchers.*;

Дальнейшее чтение:

Hamcrest Common Core Matchers

Изучите различные методы класса CoreMatchers в библиотеке Hamcrest.

Read more

Хамкрест Бобы Матчеры

Узнайте о сопоставителях бобов Hamcrest - инструменте, который обеспечивает эффективный способ создания утверждений, часто используемую функцию при написании модульных тестов.

Read more

Тестирование с Hamcrest

В этом очень практическом учебном пособии мы сосредоточимся на использовании Hamcrest API и написание более точных и интуитивно понятных модульных тестов для нашего программного обеспечения.

Read more

2. Поваренная книга

проверьте, находится ли отдельный элемент в коллекции

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

проверить, есть ли в коллекции несколько элементов

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

* проверить все элементы в коллекции *

- в строгом порядке

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

- с любым заказом

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

проверьте, пуста ли коллекция

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

проверьте, пуст ли массив

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

проверьте, пуста ли карта

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

проверьте, пуст ли Iterable

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

проверить размер коллекции

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

проверка размера итерируемого

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

проверить состояние каждого предмета

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

3. Заключение

Этот формат является экспериментом - я публикую некоторые из моих кулинарных книг по внутренней разработке по заданной теме -Google Guava, а теперь и Hamcrest. Цель состоит в том, чтобы эта информация была легко доступна онлайн и добавлялась к ней всякий раз, когда я сталкиваюсь с новым полезным примером.

Реализация всех этих примеров и фрагментов кодаcan be found over on GitHub - это проект на основе Maven, поэтому его должно быть легко импортировать и запускать как есть.