springBoot单元测试-模拟MVC测试
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测试相关推荐
- sql 存储过程 并发测试_SQL单元测试模拟存储过程
sql 存储过程 并发测试 In this SQL Unit testing article, we will continue our journey with SQL unit testing. ...
- PowerMock之MVC测试
前言:搭建一个简易的环境来练习MVC测试 1.mvc测试环境搭建 目录结构 pom.xml 创建一个SpringBoot的maven工程,导入以下依赖 <?xml version="1 ...
- Spring MVC测试框架
原文链接:http://jinnianshilongnian.iteye.com/blog/2004660 Spring MVC测试框架详解--服务端测试 博客分类: springmvc杂谈 spri ...
- mockito mock void方法_用过举手!SpringBoot 单元测试利器Mockito
Mockito 是一种 Java mock 框架,他主要是用来做 mock 测试的,他可以模拟任何 Spring 管理的 bean.模拟方法的返回值.模拟抛出异常...等,在了解 Mockito 的具 ...
- spring框架mvc框架_Spring的MVC测试框架入门–第1部分
spring框架mvc框架 最新推出的主要Spring框架是Spring MVC测试框架,Spring Guys声称它是"一流的JUnit支持,可通过流畅的API测试客户端和服务器端Spri ...
- spring框架mvc框架_Spring MVC测试框架入门–第2部分
spring框架mvc框架 这个迷你系列的第一个博客介绍了Spring MVC测试框架,并演示了其在单元测试Spring MVC Controller类中作为控制器而不是POJO进行单元测试的用途. ...
- Spring MVC测试框架入门–第1部分
最新推出的主要Spring框架是Spring MVC测试框架,Spring Guys声称它是"一流的JUnit支持,可通过流畅的API测试客户端和服务器端Spring MVC代码" ...
- Spring MVC测试框架入门–第2部分
这个迷你系列的第一个博客介绍了Spring MVC测试框架,并展示了其在单元测试Spring MVC Controller类中作为控制器而不是POJO进行单元测试的用途. 现在是时候讨论使用框架进行集 ...
- 14.6 Spring MVC 测试框架(翻译)
14.6 Spring MVC 测试框架(每天翻译一点点) Spring MVC测试框架对 Spring MVC 代码提供一流的测试支持 ,它拥有一个 fluent API ,可以和JUnit, Te ...
最新文章
- java 重用性_提高Java代码重用性的三个方法
- 关于C语言的问卷调查
- 二分搜索之x平方根(保留整数)
- 【Vegas原创】使用GreenAMP时,提示“无法载入mysql扩展”解决方法
- 【NOIP2018】赛道修建【二分】【树形dp】【multiset】【贪心】
- HDU 5691 Sitting in Line 状压dp
- 华为鸿蒙系统发展时间2021年,耗时八年打造国产系统,华为鸿蒙OS质疑声不断,它才是真正未来...
- 奥特曼在银行里下象棋的梗
- 11.go 环境变量
- 建模常用Python代码
- 6万辆自动驾驶小车将入市!图扑软件构建车联网系统
- bat批处理之for循环
- 什么是超大附件?邮箱的超大附件怎么打开?哪个邮箱发送附件大?
- 阿里巴巴四十大盗计算机病毒,泄密 阿里巴巴和四十大盗 全文 - 故事365
- 15个经典面试问题及回答思路,经典好文
- Excel 多个 Sheet 数据关联
- 友盟QQ第三方登录分享
- 分治策略------棋盘覆盖(ChessBoard)
- MPU6050传感器数据处理
- DPDK 编译安装(meson ninja)