我无法捕捉到异常
我的测试:
@Test
fun shouldException() {
assertThrows<WrongArgumentsException> {
val request = HttpEntity<String>("{\"username\": \"example\", \"password\": \"12345\"")
val responseEntity = restTemplate.postForEntity("http://localhost:$port/api/user/registration", request, String::class.java)
}
}
我的方法中的异常:
if (bindingResult.hasErrors()) {
throw WrongArgumentsException(bindingResult.allErrors[0].defaultMessage)
}
调试中:
2020-06-05 17:39:43.214 DEBUG 11308 --- [o-auto-1-exec-1] .w.s.m.a.ResponseStatusExceptionResolver : Resolved [com.example.utils.exceptions.basic.WrongArgumentsException: Password should be from 6 to 32 length]
有一个例外!但是有错误:
org.opentest4j.AssertionFailedError: Expected com.example.utils.exceptions.basic.WrongArgumentsException to be thrown, but nothing was thrown.
答案 0 :(得分:0)
我认为这是因为您的postForEntity()调用是异步的,并且测试没有等待调用的结果。
要进行检查,可以直接引发异常来替换对postForEntity()的调用。这样就可以满足测试中的断言。