|
对于最新的稳定版本,请使用 Spring Framework 7.0.6! |
配置 MockMvc
MockMvc可以通过两种方式设置。一种是直接指向您要测试的控制器,并以编程方式配置Spring MVC基础设施。另一种是指向包含Spring MVC和控制器基础设施的Spring配置。
| 对于这两种模式的比较,请查看设置选项。 |
要为测试特定控制器设置 MockMvc,请使用以下方法:
-
Java
-
Kotlin
class MyWebTests {
MockMvc mockMvc;
@BeforeEach
void setup() {
this.mockMvc = MockMvcBuilders.standaloneSetup(new AccountController()).build();
}
// ...
}
class MyWebTests {
lateinit var mockMvc : MockMvc
@BeforeEach
fun setup() {
mockMvc = MockMvcBuilders.standaloneSetup(AccountController()).build()
}
// ...
}
或者,您也可以在通过 WebTestClient 进行测试时使用此设置, 它会将相同构建器委托给上面所示的内容。
通过Spring配置设置MockMvc,请使用以下方式:
-
Java
-
Kotlin
@SpringJUnitWebConfig(locations = "my-servlet-context.xml")
class MyWebTests {
MockMvc mockMvc;
@BeforeEach
void setup(WebApplicationContext wac) {
this.mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();
}
// ...
}
@SpringJUnitWebConfig(locations = ["my-servlet-context.xml"])
class MyWebTests {
lateinit var mockMvc: MockMvc
@BeforeEach
fun setup(wac: WebApplicationContext) {
mockMvc = MockMvcBuilders.webAppContextSetup(wac).build()
}
// ...
}
或者,您也可以在通过 WebTestClient 进行测试时使用此设置, 它会将相同构建器委托给上面所示的内容。