我想将输入文件传递给MockMVC Perform语句。请在下面找到代码段:
@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变量时,我会得到以下错误:
httpmessagenotradableException:缺少必需的请求主体:
我想这意味着有效载荷没有通过?
任何建议都会对我有所帮助。
问候,Sunil
我们可以将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());
如果您想将多片file作为输入传递。这是链接:
使用Spring MVC测试进行单元测试多部分post request