我想将输入文件传递给MockMVC执行语句。请在下面找到代码段:
@Test
public void test() throws Exception {
this.mockMvc.perform(post("/tax_rates/v1/quotations")
.contentType(MediaType.APPLICATION_JSON_UTF8).pathInfo("/src/main/resources/input.json"))
.andExpect((ResultMatcher) status().is2xxSuccessful());
}
当我尝试使用pathInfo变量时,我得到如下错误:
HttpMessageNotReadableException:缺少必需的请求正文:
我认为这意味着有效载荷没有通过?
任何建议都会对我有帮助。
此致 苏尼
答案 0 :(得分:1)
我们可以将json输入作为内容传递:
ObjectMapper mapper=new ObjectMapper();
String jsonString=mapperwriteValueAsString(mapper.readValue(new File("path/to/file",Object.class));
this.mockMvc.perform(post("/tax_rates/v1/quotations")
.contentType(MediaType.APPLICATION_JSON_UTF8).content(jsonString))
.andExpect(status().is2xxSuccessful());
如果要将MultipartFile作为输入传递。这是链接: