springboot controller测试出现java.lang.AssertionError: Expected :200 Actual :302 这问题怎么解决
时间: 2024-05-04 21:19:05 浏览: 186
scrcpy投屏 AssertionError: java.lang.reflect.InvocationTargetExcep
5星 · 资源好评率100%
HTTP状态码302表示重定向,而HTTP状态码200表示请求成功。因此,您的测试预期响应状态码为200,但实际上获得的响应状态码为302,表示重定向。
这种情况通常发生在您的控制器方法中使用了重定向,而您的测试代码没有正确处理重定向。
您可以通过在测试代码中添加`.andExpect(redirectedUrl(expectedUrl))`来检查重定向URL是否正确,并使用`.andExpect(status().is3xxRedirection())`来检查是否重定向。
例如:
```
MvcResult result = mockMvc.perform(post("/example"))
.andExpect(status().is3xxRedirection()) // 检查是否重定向
.andExpect(redirectedUrl("/example/redirected")) // 检查重定向URL是否正确
.andReturn();
```
请注意,您需要将`/example/redirected`替换为您控制器方法中实际使用的重定向URL。
阅读全文