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

    控制台部分打印信息

    古人学问无遗力,少壮工夫老始成。 纸上得来终觉浅,绝知此事要躬行。
  • 相关阅读:
    C# 与 Java Rsa加密与解密互通
    PHP 读取Postgresql中的数组
    ArcGis Javascript API (V3.6)加载天地图
    Entity Framework 6.0 对枚举的支持/实体添加后会有主键反回
    ubuntu 中 ssh连接用UTF8
    Entity Framework PostgresQL CodeFirst
    Golang 字符编码
    CentOS 安装 mono
    C和C++中的不定参数
    WisDom.Net 框架设计(一) 总体框架
  • 原文地址:https://www.cnblogs.com/wf-zhang/p/12118276.html
Copyright © 2011-2022 走看看