Я имею Map
объявленную следующим образом:JUnit assertThat: проверить, что объект равен Строка
Map<String, Object> data
я положил String
в нем и проверить его значение, как это:
assertEquals("value", data.get("key"));
Теперь, я бы как переписать проверку на использование assertThat
вместо assertEquals
. Я попробовал следующее:
assertThat(data.get("key"), equalTo("value"));
И, конечно, он не работает из-за несоответствия типа:
Wrong 2nd argument type. Found: 'org.hamcrest.Matcher<java.lang.String>', required: 'org.hamcrest.Matcher<? super java.lang.Object>' less...
Явное приведение типа первого аргумента String
помогает , но я бы хотел этого избежать. Например, assertEquals
не требует ввода типа. Итак, как я могу проверить, что значение, которое было помещено в объявленный выше объект Map
, равно String
, используя метод assertThat
?
литье data.get в строку может помочь – Stultuske
Да, это помогает. Дело в том, что я хочу избежать явного приведения типов. Ищете способ заставить его работать как assertEquals, но с assertThat. – Lingviston
'Матчи.