#spring #xpath #matcher #mockmvc
#spring #xpath #сопоставитель #mockmvc
Вопрос:
Я не очень знаком с тестированием представления с помощью MockMvc, и я изо всех сил пытаюсь найти соответствующий материал в Интернете. Если вы знаете какие-либо хорошие руководства, пожалуйста, поделитесь здесь, я буду очень благодарен.
Допустим, страница имеет:
<div id='foo'>
<p>Some text</p>
<a href="path"></a>
</div>
Как я могу проверить, имеет ли элемент div с идентификатором ‘foo’ элемент с href=»path»?
Моя неудачная попытка:
@Test
public void testPage() {
mockMvc.perform(
get("/page"))
.andExpect(xpath("//div[@id='foo']//a[contains(@href,'/path')]"));
}
У меня это не работает, так как я получаю сообщение об ошибке в .andExpect() — «Приведите аргумент 1 к ResultMatcher»
Пожалуйста, кто-нибудь может сообщить мне, как это проверить?
Комментарии:
1. Опубликуйте полный минимальный пример (от строки 0 до последней строки), воспроизводящий ошибку компиляции, и опубликуйте точное и завершенное сообщение об ошибке от компилятора.
Ответ №1:
Это правильный способ проверить, имеет ли div с заданным атрибутом id заданную ссылку (я пропустил .exists()
):
mockMvc.perform(
get("/page"))
.andExpect(
xpath("//div[@id='foo']//a[contains(@href,'/path')]")
.exists());