Ответ 1
Вы должны убедиться, что Hamcrest включен в classpath, а затем использовать функцию assertThat()
, предоставляемую Hamcrest. Из текущего Руководства пользователя JUnit 5 - Написание проверочных утверждений,
JUnit Jupiters org.junit.jupiter.Assertions класс не предоставляет Метод assertThat(), подобный методу, найденному в JUnit 4s org.junit.Assert класс, который принимает Hamcrest Matcher. Вместо этого разработчики Рекомендуется использовать встроенную поддержку для сопоставителей, предоставляемых сторонние библиотеки утверждений.
В следующем примере показано, как использовать поддержку assertThat() от Hamcrest в тесте Юпитера Юпитера. Пока библиотека Хэмкрест был добавлен в classpath, вы можете статически импортировать методы такие как assertThat(), is() и equalTo(), а затем использовать их в тестах как в методе assertWithHamcrestMatcher() ниже.
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import org.junit.jupiter.api.Test;
class HamcrestAssertionDemo {
@Test
void assertWithHamcrestMatcher() {
assertThat(2 + 1, is(equalTo(3)));
}
}
Естественно, устаревшие тесты, основанные на модели программирования JUnit 4, могут продолжить использовать org.junit.Assert # assertThat. "