Метод org.hamcrest.Matcher equalTo() возвращает значение, подобное этому << value >>

Я работаю над проектом Spring 5.0.7, где у меня есть несколько тестовых случаев, которые получают сбои, которые хорошо работали с предыдущей версией Spring.

когда я выполняю следующее заявление

assertEquals("My message",401, equalTo(401));

получить следующее сообщение об ошибке введите описание изображения здесь

В результате появляется дополнительный <>. Может у кого есть идеи как это исправить?

Для более подробной информации ранее я использовал assertThat()

 assertThat(401, equalTo(401));

и это работало нормально.

3 ответа

Я возвращаюсь назад к assertThat(), и это работает нормально.

Если вы немного запутались с Hamcrest, вы можете попробовать AssertJ, чьи утверждения легко обнаружить с помощью автозавершения кода.

assertThat(401).isEqualTo(401);
               ^                       
              use code completion

equalTo возвращает Matcher объект, который не равен целочисленному значению, следовательно, AssertionError, <401> это просто строковое представление соответствия.

С assertEquals ожидается, что вы передадите ожидаемое значение напрямую, без сопоставления:

assertEquals("My message", 401, 401);

Обратите внимание, что первый аргумент является ожидаемым значением.

Другие вопросы по тегам