此版本仍在开发中,尚未被视为稳定版。如需最新稳定版本,请使用 Spring Framework 7.0.6spring-doc.cadn.net.cn

MockMvc 集成

如果你想使用 AssertJ 支持,但又已经投入了原始的 MockMvc API,MockMvcTester 提供了多种方式与之集成。spring-doc.cadn.net.cn

如果你有自己的 RequestBuilder 实现,可以使用 perform 触发请求的处理。下面的示例展示了如何使用原始 API 构造查询:spring-doc.cadn.net.cn

// Static import on MockMvcRequestBuilders.get
assertThat(mockMvc.perform(get("/hotels/{id}", 42)))
		.hasStatusOk();

同样地,如果你已经编写了自定义的匹配器(matcher),并在 .andExpectMockMvc 功能中使用它们,那么你可以通过 .matches 来使用这些匹配器。在下面的示例中,我们重写了前面的例子,使用 ResultMatcher 提供的 MockMvc 实现来断言状态:spring-doc.cadn.net.cn

// Static import on MockMvcResultMatchers.status
assertThat(mockMvc.get().uri("/hotels/{id}", 42))
		.matches(status().isOk());

MockMvc 还定义了一个 ResultHandler 接口,允许你对 MvcResult 执行任意操作。如果你实现了该接口,可以使用 .apply 方法来调用它。spring-doc.cadn.net.cn