MockMvc:无法解析 andDo(print()) 中的打印方法

MockMvc: Cannot resolve print method in andDo(print())

我是 JUnit 测试的新手。我现在正在尝试使用 MockMvc 测试 Spring 端点,但找不到 andDo(print()) 方法。 为了使用这个或什么,我必须导入任何东西吗?

  @Autowired
  private MockMvc mockMvc;

  @Test
  public void compareDeleteTest() throws Exception{
    HttpHeaders httpHeaders = new HttpHeaders();
    httpHeaders.add("Content-Type", "application/json");

    RequestBuilder requestBuilder = MockMvcRequestBuilders.delete("api/compare/3")
            .headers(httpHeaders);

    MvcResult result = mockMvc.perform(requestBuilder)
            .andDo(print());
}

这是我的 IDE 中显示的内容:

我认为您要找的 print()MockMvcResultHandlers

这是你可以做到的 -

ResultActions resultActions = mockMvc.perform(requestBuilder)
                                     .andDo(MockMvcResultHandlers.print());

使用 Java 的静态导入可以在没有 class 名称或任何对象的情况下调用它:

import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;