美文网首页
如何使用SpringMockMvc测试http请求

如何使用SpringMockMvc测试http请求

作者: Kitsuna | 来源:发表于2018-11-02 15:00 被阅读0次
    @RunWith(SpringRunner.class)
    @SpringBootTest(classes = MyApplication.class)
    @WebAppConfiguration
    public class BaseTest {
    
        @Autowired
        protected WebApplicationContext webApplicationContext;
    
        protected MockMvc mockMvc;
    
        @Before
        public void setMockMvc() {
            mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
        }
    
        @Test
        public void contextLoads() {
            System.out.println("=================================== Env start success! ===================================");
        }
    
        protected String perform(String url, Object request) throws Exception {
            return mockMvc.perform(
                    // 请求的url,请求的方法
                    post(url, request)
                            // 数据的格式
                            .contentType(MediaType.APPLICATION_JSON)
                            .content(GsonUtil.getInstance().toJson(request)))
                    // 打印出请求和相应的内容
                    .andDo(print())
                    // 返回的状态是200
                    .andExpect(status().isOk())
                    // 校验调用是否成功
                    .andExpect(mvcResult -> {
                        BaseResponse br = GsonUtil.getInstance().fromJson(mvcResult.getResponse().getContentAsString(), BaseResponse.class);
                        if (!Constant.SUCCESS_CODE.equals(br.getCode())) {
                            throw new RuntimeException(br.getMessage());
                        }
                    })
                    // 将相应的数据转换为字符串
                    .andReturn().getResponse().getContentAsString();
        }
    }
    

    BaseResponse 是我司自定义的基础返回报文,里面有统一的状态码,这里可以校验请求是否成功。

    相关文章

      网友评论

          本文标题:如何使用SpringMockMvc测试http请求

          本文链接:https://www.haomeiwen.com/subject/bhhcxqtx.html