所以我有一个带有一个get方法的控制器。我需要测试一下。当我用不正确的国家的iso代码编写url请求时,它会抛出一个自定义异常。那我怎么测试呢?
所以在这里 'UA'
参数不正确
@Test
fun check_for_incorrect_iso_code() {
mockMvc.perform(get("/countries/UA"))
.andDo(print())
.andExpect(status().is4xxClientError)
}
测试正在运行,但我需要扩展它并检查它是否抛出我的自定义异常- 'InvalidIsoCodeException'
例如。
谢谢你的回答。
1条答案
按热度按时间omhiaaxx1#
您的java代码正在抛出
InvalidIsoCodeException
但是服务器/控制器不能抛出异常。相反,它向客户机发回一个http响应。这个InvalidIsoCodeException
由springMap到特定的响应。您已经在用检查响应的状态.andExpect(status().is4xxClientError())
. 如果您想更具体一些,还可以验证响应的主体。如果您想测试异常,那么您必须像测试没有mockmvc的普通java类一样测试您的控制器。