Я пытаюсь использовать Hamcrest, но постоянно сталкиваюсь со следующим:
Сопоставители Hamcrest закорочены, например, если я напишу:
Assert.assertThat(list, everyItem(not(isIn(shouldNotBeInList))));
Сообщается только о первом неисправном элементе shouldNotBeInList. Я ожидаю, что тесты расскажут мне как можно больше.
Могу ли я написать утверждения в hamcrest, чтобы они хорошо отображались, чтобы сообщалось обо всех несоответствиях, или мне следует создать свои собственные сопоставители или использовать другую библиотеку?
Пример вывода для
List<String> list = Arrays.asList("a", "b", "c");
List<String> shouldNotBeInList = Arrays.asList("c", "e", "a");
Обратите внимание на отсутствие сообщения об ошибке для c
Expected: every item is not one of {"c", "e", "a"}
but: an item was "a"