所以,我有问题,并没有答案.我的休息控制器,返回html页面
@Autowired
private Gradebook gradebook;
@GetMapping( value= "/", produces={MediaType.APPLICATION_JSON_VALUE})
public List<GradebookCollegeStudent> getStudents() {
gradebook = studentService.getGradebook2();
return gradebook.getStudents();
}
我的测试+例外
@Test
public void getStudentsHttpRequest() throws Exception {
student.setFirstname("Chad");
student.setLastname("Darby");
student.setEmailAddress("chad@mail.com");
entitymanage.persist(student);
entitymanage.flush();
mock.perform(MockMvcRequestBuilders.get("/")).andExpect(status().isOk()).andExpect(content().contentType(APPLICATION_JSON_UTF8))
.andExpect(jsonPath("$", hasSize(2)));
//java.lang.AssertionError: Content type expected:<application/json> but was:<text/html;charset=UTF-8>
}
我是怎么解决这个问题的?我在控制器中添加了produces={MediaType.APPLICATION_JSON_VALUE})
,我在所有测试之前都设置了MockHttpRespone,但问题还是一样。
response = new MockHttpServletResponse();
response.setContentType(MediaType.APPLICATION_JSON_VALUE);
我也不明白从我的控制器采取index.html页面显示在控制台运行测试后,因为没有一个我的服务不返回索引!
gradebook = studentService.getGradebook2();
return gradebook.getStudents();
如果有人知道真实的答案,请帮助!
1条答案
按热度按时间20jt8wwn1#
添加到你的test .header():