仅在不正常时打印响应

问题描述 投票:0回答:1

我在集成测试中使用了这种代码,在查看本网站上的其他答案时,我发现这种代码非常典型:

mockMvc.perform(post("/xyz").contentType(...).content(...))
        .andDo(print())
        .andExpect(status().isOk)

我的问题是

print()
打印太多行(完整的请求和响应 JSON 字符串)并阻塞输出。

如何让它打印响应(并且仅打印响应,而不是请求)并且仅在状态不正常时打印?

我正在寻找这样的东西(似乎不存在):

mockMvc.perform(post("/xyz").contentType(...).content(...)) .andExpect(status().isOk) .otherwiseDo(printResponse())
    
java spring-mvc mockmvc
1个回答
0
投票
您可以在

ResultHandler

查看状态

mockMvc.perform(post("/xyz").contentType(...).content(...)) .andDo(r -> { if (r.getResponse().getStatus() != 200) { printResponse(r); } }) .andExpect(status().isOk)
    
© www.soinside.com 2019 - 2024. All rights reserved.