MockMvc案例实战调⽤Controller层API接⼝

Springboot的MockMvc调⽤api层接⼝

如何测试Controller对外提供的接⼝

  • 增加类注解 @AutoConfigureMockMvc
  • 注⼊⼀个MockMvc类
  • 相关API :
    • perform执⾏⼀个RequestBuilder请求
    • andExpect:添加ResultMatcher->MockMvcResultMatchers验证规则
    • andReturn:最后返回相应的MvcResult->Response
@AutoConfigureMockMvc    //测试controller层对外提供的借口
public class VideoTest {
    
    

	@Autowired
    private MockMvc mockMvc;

	/**
     * 测试controller层
     */
    @Test
    public void testVideoListApi() throws Exception{
    
    
        //perform 执行一个requestbuilder请求 相当于提交给服务器一个api路径接口
        //传入一个requestBuilder   MockMvcRequestBuilders:构建器 构建http请求
        //发出请求,判断响应码
        MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.get("/api/v1/pub/video/list"))
                .andExpect(MockMvcResultMatchers.status().isOk()).andReturn(); //判断是否是http200的响应码

        //拿到响应结果
        int status =mvcResult.getResponse().getStatus();
        //返回结果实体
        System.out.println(status);

        //使用下面的,增加编码说明,不会出现乱码的打印
        String result=mvcResult.getResponse().getContentAsString(Charset.forName("utf-8"));

        System.out.println(result);

    }

猜你喜欢

转载自blog.csdn.net/m0_49969111/article/details/118693589