Ответ 1
Соединители Hamcrest разделены на несколько модулей. "Ядро" включает в себя самые основные классы и абстрактные классы, необходимые для построения других помощников. org.hamcrest.CoreMatchers
включает методы factory только для этих сопоставлений. Другие матчи находятся в "библиотечном" модуле, сгруппированном по типам объектов, которые они соответствуют, и являются необязательными. org.hamcrest.Matchers
включает оба набора соответствий.
Что вы должны использовать? Я статически импортирую все из последних без проблем. Возможно, время компиляции может занять немного больше времени, но это никогда не было проблемой для меня. Я поставил это в верхней части моих модульных тестов в дополнение к импорту JUnit:
import static org.hamcrest.MatcherAssert.*;
import static org.hamcrest.Matchers.*;
Это дает лучшую читаемость в методах тестирования.