1)模拟mvc测试,和基础测试是一样的, 都需要在pom文件中引入junit的支持。

  略

2)编写测试类 Application1TestMVC

  在类头上除啦加入之前的@RunWith(SpringRunner.class)、@RunWith(SpringRunner.class) 之外还要加入新的注解

  @AutoConfigureMockMvc // 注入MockMvc (当然你实在不想加也行,有其他办法 , 不过我不想说,麻烦)
  1 package com.cx.springboot;
  2
  3 import java.util.Date;
  4
  5 import org.junit.Test;
  6 import org.junit.runner.RunWith;
  7 import org.springframework.beans.factory.annotation.Autowired;
  8 import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
  9 import org.springframework.boot.test.context.SpringBootTest;
 10 import org.springframework.http.MediaType;
 11 import org.springframework.mock.web.MockHttpServletResponse;
 12 import org.springframework.test.context.junit4.SpringRunner;
 13 import org.springframework.test.web.servlet.MockMvc;
 14 import org.springframework.test.web.servlet.MvcResult;
 15 import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
 16
 17 import com.alibaba.fastjson.JSON;
 18 import com.cx.springboot.hello1.model.UserModel;
 19
 20 @RunWith(SpringRunner.class)
 21 @SpringBootTest
 22 @AutoConfigureMockMvc // 注入MockMvc
 23 public class Application1TestMVC {
 24
 25     @Autowired
 26     private MockMvc mvc;
 27
 28     /**
 29      *
 30      * @throws Exception
 31      * @创建时间 2018年7月13日
 32      * @功能描述  通过链接传值 , 接受string 返回值
 33      */
 34     @Test
 35     public void testString() throws Exception {
 36         //准备请求url  不用带ip、端口、项目名称等 直接写接口的映射地址就可以了
 37         String url = "/app/get2/zhangsan/1";
 38
 39         /* 构建request 发送请求GET请求
 40          * MockMvcRequestBuilders 中有很多 请求方式。像get、post、put、delete等等
 41          */
 42         MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(url)
 43                 .accept(MediaType.APPLICATION_JSON)) // 断言返回结果是json
 44                 .andReturn();// 得到返回结果
 45
 46         MockHttpServletResponse response = mvcResult.getResponse();
 47         //拿到请求返回码
 48         int status = response.getStatus();
 49         //拿到结果
 50         String contentAsString = response.getContentAsString();
 51
 52         System.err.println(status);
 53         System.err.println(contentAsString);
 54     }
 55
 56
 57
 58     /**
 59      *
 60      * @throws Exception
 61      * @创建时间 2018年7月13日
 62      * @功能描述  传递header ,接受 返回值
 63      */
 64     @Test
 65     public void headerTest() throws Exception {
 66         // uri
 67         String uri = "/app/get4";
 68
 69         MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get(uri)
 70                 .header("token", "asd123")
 71                 .header("name", "zhangsan11")
 72                 .accept(MediaType.APPLICATION_JSON)) // 断言返回结果是json
 73                 .andReturn();// 得到返回结果
 74
 75         MockHttpServletResponse response = mvcResult.getResponse();
 76         //拿到请求返回码
 77         int status = response.getStatus();
 78         //拿到结果
 79         String contentAsString = response.getContentAsString();
 80
 81         System.err.println(status);
 82         System.err.println(contentAsString);
 83     }
 84     /**
 85      *
 86      * @throws Exception
 87      * @创建时间 2018年7月13日
 88      * @功能描述  传递post请求和 bean类型对象 ,接受 返回值
 89      */
 90     @Test
 91     public void postTest() throws Exception {
 92         // uri
 93         String uri = "/app/get3";
 94
 95         UserModel userModel = new UserModel("张三", 11, new Date(), "abc123");
 96
 97         MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(uri)
 98                 .contentType(MediaType.APPLICATION_JSON_UTF8)
 99                 .content(JSON.toJSONString(userModel))
100                 .accept(MediaType.APPLICATION_JSON)) // 断言返回结果是json
101                 .andReturn();// 得到返回结果
102
103         MockHttpServletResponse response = mvcResult.getResponse();
104         //拿到请求返回码
105         int status = response.getStatus();
106         //拿到结果
107         String contentAsString = response.getContentAsString();
108
109         System.err.println(status);
110         System.err.println(contentAsString);
111     }
112 }

转载于:https://www.cnblogs.com/cx987514451/p/9304525.html

springBoot单元测试-模拟MVC测试相关推荐

  1. sql 存储过程 并发测试_SQL单元测试模拟存储过程

    sql 存储过程 并发测试 In this SQL Unit testing article, we will continue our journey with SQL unit testing. ...

  2. PowerMock之MVC测试

    前言:搭建一个简易的环境来练习MVC测试 1.mvc测试环境搭建 目录结构 pom.xml 创建一个SpringBoot的maven工程,导入以下依赖 <?xml version="1 ...

  3. Spring MVC测试框架

    原文链接:http://jinnianshilongnian.iteye.com/blog/2004660 Spring MVC测试框架详解--服务端测试 博客分类: springmvc杂谈 spri ...

  4. mockito mock void方法_用过举手!SpringBoot 单元测试利器Mockito

    Mockito 是一种 Java mock 框架,他主要是用来做 mock 测试的,他可以模拟任何 Spring 管理的 bean.模拟方法的返回值.模拟抛出异常...等,在了解 Mockito 的具 ...

  5. spring框架mvc框架_Spring的MVC测试框架入门–第1部分

    spring框架mvc框架 最新推出的主要Spring框架是Spring MVC测试框架,Spring Guys声称它是"一流的JUnit支持,可通过流畅的API测试客户端和服务器端Spri ...

  6. spring框架mvc框架_Spring MVC测试框架入门–第2部分

    spring框架mvc框架 这个迷你系列的第一个博客介绍了Spring MVC测试框架,并演示了其在单元测试Spring MVC Controller类中作为控制器而不是POJO进行单元测试的用途. ...

  7. Spring MVC测试框架入门–第1部分

    最新推出的主要Spring框架是Spring MVC测试框架,Spring Guys声称它是"一流的JUnit支持,可通过流畅的API测试客户端和服务器端Spring MVC代码" ...

  8. Spring MVC测试框架入门–第2部分

    这个迷你系列的第一个博客介绍了Spring MVC测试框架,并展示了其在单元测试Spring MVC Controller类中作为控制器而不是POJO进行单元测试的用途. 现在是时候讨论使用框架进行集 ...

  9. 14.6 Spring MVC 测试框架(翻译)

    14.6 Spring MVC 测试框架(每天翻译一点点) Spring MVC测试框架对 Spring MVC 代码提供一流的测试支持 ,它拥有一个 fluent API ,可以和JUnit, Te ...

最新文章

  1. java 重用性_提高Java代码重用性的三个方法
  2. 关于C语言的问卷调查
  3. 二分搜索之x平方根(保留整数)
  4. 【Vegas原创】使用GreenAMP时,提示“无法载入mysql扩展”解决方法
  5. 【NOIP2018】赛道修建【二分】【树形dp】【multiset】【贪心】
  6. HDU 5691 Sitting in Line 状压dp
  7. 华为鸿蒙系统发展时间2021年,耗时八年打造国产系统,华为鸿蒙OS质疑声不断,它才是真正未来...
  8. 奥特曼在银行里下象棋的梗
  9. 11.go 环境变量
  10. 建模常用Python代码
  11. 6万辆自动驾驶小车将入市!图扑软件构建车联网系统
  12. bat批处理之for循环
  13. 什么是超大附件?邮箱的超大附件怎么打开?哪个邮箱发送附件大?
  14. 阿里巴巴四十大盗计算机病毒,泄密 阿里巴巴和四十大盗 全文 - 故事365
  15. 15个经典面试问题及回答思路,经典好文
  16. Excel 多个 Sheet 数据关联
  17. 友盟QQ第三方登录分享
  18. 分治策略------棋盘覆盖(ChessBoard)
  19. MPU6050传感器数据处理
  20. DPDK 编译安装(meson ninja)

热门文章

  1. RabbitMQ配置Mqtt协议
  2. 图像的多分辨率金字塔详解
  3. java 自定义 operator_java8 自定义Collector
  4. 【VS+QT开发】找不到到qhostinfo.h文件
  5. 【解决方案】本次安装Visual Studio 所用的安装程序不完整
  6. Python画散点图(Knn中数据)
  7. 安卓怎么显示res文件夹中的html_安卓手机如何打开.mhtml文件?
  8. 强化学习——值迭代和策略迭代
  9. 基础知识:什么是ASP.NET Razor页面?
  10. mac phpstorm 2018 激活码