对于最新的稳定版本,请使用 Spring Framework 7.0.6!spring-doc.cadn.net.cn

配置功能特性

无论使用哪种MockMvc构建器,所有MockMvcBuilder实现都提供了一些常见且非常有用的功能。例如,您可以为所有请求声明一个Accept标头,并期望状态为200以及所有响应中的Content-Type标头,如下所示:spring-doc.cadn.net.cn

// static import of MockMvcBuilders.standaloneSetup

MockMvc mockMvc = standaloneSetup(new MusicController())
	.defaultRequest(get("/").accept(MediaType.APPLICATION_JSON))
	.alwaysExpect(status().isOk())
	.alwaysExpect(content().contentType("application/json;charset=UTF-8"))
	.build();
// Not possible in Kotlin until https://youtrack.jetbrains.com/issue/KT-22208 is fixed

此外,第三方框架(和应用程序)可以预打包设置指令,例如那些在 MockMvcConfigurer 中的。Spring 框架有一个这样的内置实现,有助于在请求之间保存和重用 HTTP 会话。您可以如下使用它:spring-doc.cadn.net.cn

// static import of SharedHttpSessionConfigurer.sharedHttpSession

MockMvc mockMvc = MockMvcBuilders.standaloneSetup(new TestController())
		.apply(sharedHttpSession())
		.build();

// Use mockMvc to perform requests...
// Not possible in Kotlin until https://youtrack.jetbrains.com/issue/KT-22208 is fixed

请参阅javadoc以获取 ConfigurableMockMvcBuilder 中列出的所有MockMvc构建器功能,或使用IDE探索可用选项。spring-doc.cadn.net.cn