Java MockMvc-预期状态:<;200>;但事实是:<;302>;
mockmvc测试junit期间发生302错误。 insertBoard类的重定向问题,我应该怎么做。 预期状态:但为:Java MockMvc-预期状态:<;200>;但事实是:<;302>;,java,spring,mockmvc,Java,Spring,Mockmvc,mockmvc测试junit期间发生302错误。 insertBoard类的重定向问题,我应该怎么做。 预期状态:但为: 您的测试正在验证调用/sample/insertBoard.do所返回的内容。MockMvc不遵循重定向,因此302是有效的,因为它意味着返回响应时浏览器应该转到新的url。您需要使用redirectedUrl(“/sample/openBoardList.do”)而不是status().isOk()来验证重定向是否正确 包括更新的示例。。。希望这有助于理解变化: @Test
您的测试正在验证调用
/sample/insertBoard.do所返回的内容。MockMvc不遵循重定向,因此302是有效的,因为它意味着返回响应时浏览器应该转到新的url。您需要使用redirectedUrl(“/sample/openBoardList.do”)
而不是status().isOk()
来验证重定向是否正确
包括更新的示例。。。希望这有助于理解变化:
@Test
public void testInsertBoard() throws Exception{
File fis = new File("c:\\users\\aaa.jpg");
FileInputStream fi1 = new FileInputStream(fis);
MockMultipartFile file = new MockMultipartFile("file",fis.getName(),"multipart/form-data",fi1);
this.mockMvc.perform(MockMvcRequestBuilders.fileupload("/sample/insertBoard.do"))
.file(file)
.param("title","title_test")
.param("contents","contents_test")
.contentType(MediaType.MULTIPART_FORM_DATA)
.andExpect(redirectedUrl("/sample/openBoardList.do"));
}
我很抱歉。我不明白。我只想testInsertBoard测试成功。它可能不适用于确切的情况-但对我来说,这是因为url末尾有一个尾随的斜杠(“/”)。。。例如,如果将路径映射到“/server/context/”并在测试代码中调用“/server/context”,则返回302
@Test
public void testInsertBoard() throws Exception{
File fis = new File("c:\\users\\aaa.jpg");
FileInputStream fi1 = new FileInputStream(fis);
MockMultipartFile file = new MockMultipartFile("file",fis.getName(),"multipart/form-data",fi1);
this.mockMvc.perform(MockMvcRequestBuilders.fileupload("/sample/insertBoard.do"))
.file(file)
.param("title","title_test")
.param("contents","contents_test")
.contentType(MediaType.MULTIPART_FORM_DATA)
.andExpect(redirectedUrl("/sample/openBoardList.do"));
}