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)); } }

    控制台部分打印信息

    古人学问无遗力,少壮工夫老始成。 纸上得来终觉浅,绝知此事要躬行。
  • 相关阅读:
    SQL数据库数据优化SQL优化总结( 百万级数据库优化方案)
    三星S8相机黑画面解决
    三星Galaxy S8 刷机经验记录
    2018.12.02 Socket编程之初识Socket
    工作至今
    巧用std::shared_ptr全局对象释放单例内存
    C++标准库之迭代器
    Phone 3rd Recovery
    进电机之两相双极性步进电机仿真
    使用Pretues仿真Arduino驱动步进电机
  • 原文地址:https://www.cnblogs.com/wf-zhang/p/12118276.html
Copyright © 2011-2022 走看看