java控制台打印语句在Spring Boot microservice的Junit测试中不起作用
我正在尝试为我的Spring Boot微服务创建Junit测试。我需要查看执行的操作的响应或结果。当我像这样添加时,它不会在我的控制台中打印
@Test
public void retrieveDetailsForCourse() throws Exception {
Mockito.when(
studentService.retrieveCourse(Mockito.anyString(),
Mockito.anyString())).thenReturn(mockCourse);
RequestBuilder requestBuilder = MockMvcRequestBuilders.get(
"/students/Student1/courses/Course1").accept(
MediaType.APPLICATION_JSON);
MvcResult result = mockMvc.perform(requestBuilder).andReturn();
System.out.println(result.getResponse());
}
如何从结果中检索响应/结果
# 1 楼答案
您可以使用
andDo(print())
将请求和响应打印到控制台,例如:您可能还需要针对响应添加一些断言,例如:
这是MockMvc测试的标准方法,但测试用例中可能存在其他错误。使用
andReturn()
和result.getResponse().getContentAsString()
应该打印出响应,因此如果没有看到任何打印内容,那么:perform()
调用引发了一个异常,从而导致在System.out
调用之前退出李>