配置 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 進行測試時,您也可以使用此設定,它委託給與上述相同的構建器。