MockMvc集成
如果您想使用AssertJ支持,但已经投资于原始MockMvc
API,MockMvcTester
提供了几种与之集成的方法。
如果您有自己的RequestBuilder
实现,您可以使用perform
触发请求的处理。下面的示例展示了如何使用原始API构建查询。
// Static import on MockMvcRequestBuilders.get
assertThat(mockMvc.perform(get("/hotels/{id}", 42)))
.hasStatusOk();
同样,如果您已经创建了自定义匹配器并将其与MockMvc
的.andExpect
功能一起使用,您可以通过.matches
使用它们。在下面的示例中,我们重写了前面的示例,使用MockMvc
提供的ResultMatcher
实现来断言状态。
// Static import on MockMvcResultMatchers.status
assertThat(mockMvc.get().uri("/hotels/{id}", 42))
.matches(status().isOk());
MockMvc
还定义了一个ResultHandler
契约,允许您在MvcResult
上执行任意操作。如果您已实现此契约,则可以使用.apply
调用它。