配置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进行测试时,你也可以使用这种设置,该客户端会委托给上述相同的构建器。