使用 MockMvc 测试重定向 URL 的 HTTP 状态代码
2022-09-04 02:45:40
我想使用MockMvc在Spring Boot应用程序中测试登录过程。成功登录后,用户将被重定向到 /home。为了测试这一点,我使用:
@Test
public void testLogin() throws Exception {
RequestBuilder requestBuilder = formLogin().user("test@tester.de").password("test");
mockMvc.perform(requestBuilder).andExpect(redirectedUrl("/home")).andExpect(status().isFound());
}
此测试提供预期的结果。
此外,我必须测试重定向页面(/home)的HTTP状态代码。假设/主页返回HTTP 500内部服务器错误,我需要能够对此进行测试。
我尝试了以下方法:
@Test
public void testLogin() throws Exception {
RequestBuilder requestBuilder = formLogin().user("test@tester.de").password("test");
mockMvc.perform(requestBuilder).andExpect(redirectedUrl("/home")).andExpect(status().isFound());
mockMvc.perform(get("/home").with(csrf())).andExpect(status().isOk());
}
相反,如果得到200或500(如果出现错误),我得到状态代码302。
有没有办法在跟踪重定向URL时正确测试HTTP状态代码?
谢谢和最好的问候