我想使用MockMvc在Spring Boot Application中测试登录过程.成功登录后,用户将被重定向到/ 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());
}
Run Code Online (Sandbox Code Playgroud)
该测试提供了预期的结果.
另外,我必须测试重定向页面(/ home)的HTTP状态代码.让我们说/ home-page返回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());
}
Run Code Online (Sandbox Code Playgroud)
相反,如果获得200或500(如果出现错误),我会得到状态代码302.
在遵循重定向URL时,有没有办法正确测试HTTP状态代码?
谢谢和最好的问候