Коллекции Хамкрестов Поваренная книга
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.
Хамкрест Бобы Матчеры
Узнайте о сопоставителях бобов Hamcrest - инструменте, который обеспечивает эффективный способ создания утверждений, часто используемую функцию при написании модульных тестов.
Тестирование с Hamcrest
В этом очень практическом учебном пособии мы сосредоточимся на использовании Hamcrest API и написание более точных и интуитивно понятных модульных тестов для нашего программного обеспечения.
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, поэтому его должно быть легко импортировать и запускать как есть.