如何告诉MockRestServiceServer在junit @Test期间期待特定的json内容?
我以为我可以期待一个如下所示的json字符串:.andExpect(content().json(...)),但该方法并不存在。那么我该如何重写下面的代码呢?
private MockRestServiceServer mockServer;
private ObjectMapper objectMapper; //jackson
Person p = new Person();
p.setFirstname("first");
p.setLastname("last");
//mocking a RestTemplate webservice response
mockServer.expect(once(), requestTo("/servlet"))
.andExpect(content().json(objectMapper.writeValueAsString(p))) //.json() does not exist! why?
.andRespond(withSuccess(...));发布于 2018-03-15 06:06:29
看起来您的spring-test版本低于4.2
您可以更新spring测试依赖项,以便能够使用您提供的代码。
发布于 2018-07-30 21:25:59
例如,您可以使用:
mockServer.expect(ExpectedCount.once(), requestTo(path))
.andExpect(method(HttpMethod.POST))
.andExpect(jsonPath("$", hasSize(1)))
.andExpect(jsonPath("$[0].someField").value("some value"))发布于 2019-03-29 05:10:51
似乎ContentRequestMatcher对象支持以spring-test version 5.0.5.RELEASE开头的JSON字符串。
https://stackoverflow.com/questions/49283181
复制相似问题