我的應用程式中有簡單的 RestController,帶有后映射
@PostMapping("/bank/api/balance")
fun changeBalance(@RequestParam amount: String, @RequestParam action: String)
我有這個控制器的測驗功能。
private fun postBalanceAddRequest(amount: String): ResultActions {
return mockMvc.perform(MockMvcRequestBuilders.post(baseUrl).apply {
param("action", "add")
param("amount", amount)
})
}
我在這個測驗中使用的
@Test
fun `add post request must return ok if request contains correct data`() {
Mockito.`when`(authenticationService.getCurrentUserUsername()).thenReturn("user")
Mockito.`when`(userService.userExist("user")).thenReturn(true)
postBalanceAddRequest(amount = "10")
.andExpect(MockMvcResultMatchers.status().isOk)
}
當我開始這個測驗時,我得到了 404 代碼,但在我看來,這里不可能有這樣的回傳代碼。
uj5u.com熱心網友回復:
使用時MockMvc不需要提供完整的 url(包括域和埠),mockMvc 會處理它。
相反,您只需要 uri。設定你baseUrl的/bank/api/balance
uj5u.com熱心網友回復:
感謝您的幫助,我只是忘記添加一個必要的控制器。至于mockMvc,你可以使用短網址,沒有域名和埠(我認為這是最好的方法),但如果你愿意,你可以使用完整的網址。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/371906.html
