【测试】MockMvcResultHandlers.print()打印结果中body中文乱码

使用MockMvc做controller接口测试

 @Test
    public void test() throws Exception {
        //请求参数
        String requestInfo = "{ \"app_key\": \"*********\", \"cust_account\": \"********\",\"product_key\": \"*****\"}";
        this.mockMvc
                .perform(post("/queryPhoneResource").accept(MediaType.APPLICATION_JSON)
                        .content(requestInfo))
                .andDo(print())
                //添加断言
                .andExpect(status().isOk());
    }

打印结果

MockHttpServletRequest:
         HTTP Method = POST
         Request URI = /queryPhoneResource
          Parameters = {}
             Headers = {Accept=[application/json]}

             Handler:
                Type = com.***.controller.***

               Async:
   Was async started = false
        Async result = null

  Resolved Exception:
                Type = null

        ModelAndView:
           View name = null
                View = null
               Model = null

            FlashMap:

MockHttpServletResponse:
              Status = 200
       Error message = null
             Headers = {flag=[0000], desc=[成功]}
        Content type = null
                Body = {"flag":"0000","desc":"æå","data":{"surplusResources":"24000","afterChargingResources":"500"}}
       Forwarded URL = null
      Redirected URL = null
             Cookies = []

desc内容乱码,解决方案response设置编码即可

ResultActions resultActions = this.mockMvc.perform(post(requestUrl)
                                            .accept(MediaType.APPLICATION_JSON)
                                            .content(requestParam));
        resultActions.andReturn().getResponse().setCharacterEncoding("UTF-8");
        //添加断言
        resultActions.andDo(print()).andExpect(status().isOk());

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值