我想使用REST-assured来测试我的REST API,而不是Spring的MockMvc。
我的想法是希望使用REST保证的库从异步调用的响应中获取状态代码。
请查看以下详细信息:
我使用这些依赖项:
'io.rest-assured:rest-assured:3.0.5'
'io.rest-assured:spring-mock-mvc:3.0.5'
当我这样做时:
mockMvc.perform(asyncDispatch(result)).andExpect(status().isAccepted());
我能够在下面获得此状态代码(.andDo(print())
的输出),但我希望使用REST保证获得相同的结果:
Async:
Async started = true
Async result = <202 Accepted,{}>
有了REST保证,我只能在下面获得此状态代码:
MockHttpServletResponse:
Status = 200
Error message = null
Headers = {}
Content type = null
Body =
Forwarded URL = null
Redirected URL = null
Cookies = []
我试过这种方式:
given()
.accept(MediaType.APPLICATION_JSON_UTF8_VALUE)
.contentType(MediaType.APPLICATION_JSON_UTF8_VALUE)
.body(new ObjectMapper().writeValueAsString(myDto))
.when()
.put(URL)
.then()
.apply(print())
.expect(request().asyncStarted())
.expect(request().asyncResult(notNullValue()))
.expect(status().isAccepted());
测试失败:
java.lang.AssertionError: Status
Expected :202
Actual :200
提前致谢
答案 0 :(得分:0)