我在集成测试中使用了这种代码,在查看本网站上的其他答案时,我发现这种代码非常典型:
mockMvc.perform(post("/xyz").contentType(...).content(...))
.andDo(print())
.andExpect(status().isOk)
我的问题是
print()
打印太多行(完整的请求和响应 JSON 字符串)并阻塞输出。
如何让它打印响应(并且仅打印响应,而不是请求)并且仅在状态不正常时打印?
我正在寻找这样的东西(似乎不存在):
mockMvc.perform(post("/xyz").contentType(...).content(...))
.andExpect(status().isOk)
.otherwiseDo(printResponse())
ResultHandler
mockMvc.perform(post("/xyz").contentType(...).content(...))
.andDo(r -> {
if (r.getResponse().getStatus() != 200) {
printResponse(r);
}
})
.andExpect(status().isOk)