zoukankan      html  css  js  c++  java
  • SpringBoot 测试类

    //对于前后端分离的项目而言,无法直接从前端静态代码中测试接口的正确性,因此可以通过MockMVC来模拟HTTP请求

    @RunWith(SpringRunner.class) //public final class SpringRunner extends SpringJUnit4ClassRunner @SpringBootTest //@SpringBootTest注解是SpringBoot自1.4.0版本开始引入的一个用于测试的注解  // 测试环境使用,用来表示测试环境使用的ApplicationContext将是WebApplicationContext类型的  作用是模拟ServletContext @WebAppConfiguration public class PortalUserApplicationTest { /** * WebApplicationContext,是继承于ApplicationContext的一个接口, * 扩展了ApplicationContext,是专门为Web应用准备的,它允许从相对于Web根目录的路径中装载配置文件完成初始化。 */ @Autowired private WebApplicationContext webApplicationContext; /** * *MockMvc实现了对Http请求的模拟,能够直接使用网络的形式 * * mockMvc调用perform,执行一个RequestBuilder请求,调用controller的业务处理逻辑; * * perform返回ResultActions,返回操作结果,通过ResultActions,提供了统一的验证方式; * */ private MockMvc mockMvc;
    /** * MockMvcBuilders是MockMvc的构造器; * * MockMvc是spring测试下的一个非常好用的类,他们的初始化需要在setUp中进行 */ @Before public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); } @Test public void test() throws Exception { String uri = "接口路径"; String str = "接口要传的参数"; //MockMvcRequestBuilders 用来构建请求 指定传参方式 和 接口路径 这里是post MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.post(uri) .contentType(MediaType.APPLICATION_JSON) //数据格式 .content(str)) .andDo(MockMvcResultHandlers.print()).andReturn(); int status = mvcResult.getResponse().getStatus(); //得到返回状态码 String content = mvcResult.getResponse().getContentAsString(); //得到接口返回结果 System.out.println("返回:" + JSON.parseObject(content)); } }

    控制台部分打印信息

    古人学问无遗力,少壮工夫老始成。 纸上得来终觉浅,绝知此事要躬行。
  • 相关阅读:
    超300程序员受益入职的面试经验
    【修真院“正直”系列之三】【修真神界】【修行卷】【第一章】修真院入场券
    Js的同步异步以及回调函数
    Bootstrap栅格布局使用
    为什么程序员的工资比其他行业高这么多?
    Java培训机构可靠吗?
    get 与 post的区别?application json 与form表单的区别?
    谈谈以前端角度出发做好SEO需要考虑什么?
    【修真院“纯洁”系列之十九】驱逐令
    Redis缓存穿透和缓存雪崩以及解决方案
  • 原文地址:https://www.cnblogs.com/wf-zhang/p/12118276.html
Copyright © 2011-2022 走看看