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

MockMvc 集成

如果您想使用AssertJ支持,但已经投入在原始的MockMvcAPI上,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();

同样地,如果您已经创建了自定义匹配器,并与.andExpect功能一起在MockMvc中使用,您可以通过.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