如何使用 mockMvc、.andExpect() 和 xpath 测试具有给定 id 属性的 <div> 是否具有给定的 link?

How to test if <div> with a given id attribute has a given link using mockMvc, .andExpect() and xpath?

我不太熟悉使用 mockMvc 测试视图,我很难在网上找到相关的 material。如果大家有什么好的教程欢迎分享,感激不尽

假设页面有:

<div id='foo'>
    <p>Some text</p>
    <a href="path"></a>
</div>

如何检查 ID 为 'foo' 的 div 元素是否包含 href="path" 的元素?

我失败的尝试:

@Test
public void testPage() {
    mockMvc.perform(
        get("/page"))
        .andExpect(xpath("//div[@id='foo']//a[contains(@href,'/path')]"));
}

这对我不起作用,因为我在 .andExpect() 下遇到错误 - "Cast argument 1 to ResultMatcher"

谁能告诉我如何测试它?

这是测试具有给定 id 属性的 div 是否具有给定 link 的正确方法(我缺少 .exists()):

  mockMvc.perform(
            get("/page"))
            .andExpect(
                    xpath("//div[@id='foo']//a[contains(@href,'/path')]")
                    .exists());