Как мне справиться с этой ошибкой для сопоставителя Hamcrest

Я получаю следующую ошибку, используя библиотеку Hamcrest Matcher.

"Метод assertThat(T, Matcher) в типе Assert неприменим для аргументов (List, AnyOf)"

То, что я пытаюсь, это пример кода

List<String> poster_path_image2;         
assertThat(poster_path_image2, anyOf(startsWith("https:"), startsWith("null")));

Мне нужно проверить, действителен ли URL-адрес, а также допустимо ли нулевое значение. Я новичок в этой библиотеке и озадачен этой ошибкой.


person NJN    schedule 08.05.2018    source источник
comment
Какой тип poster_path_image2?   -  person Stefan Birkner    schedule 09.05.2018


Ответы (1)


Похоже, что poster_path_image2 относится к типу List. но Matcher startsWith может работать только на String. Проверьте типы ваших переменных и то, что может обработать сопоставитель.

Возможно, вы хотите получить первый элемент вашего списка или повторить утверждение для каждого элемента в списке.

String path = "your test String";       
assertThat(path, anyOf(startsWith("https:"), is(nullValue())));

Я изменил второй сопоставитель, так как думаю, что вы хотите проверить, является ли ваша строка null, а не содержит ли она значение строки "null".

person Simulant    schedule 09.05.2018