java restful接口测试_详解SpringBoot restful api的单元测试
现在我们来利用Spring Boot来构建一个RestFul API,具体如下:
1.添加Springboot测试注解
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserControllerTest {
}
2.伪造mvc环境
// 注入Spring 工厂
@Autowired
private WebApplicationContext wac;
//伪造mvc环境
private MockMvc mockMvc;
@Before
public void setup(){
mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();
}
3.引入静态方法
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
3.编写测试方法
@Test
public void whenXXXXSuccess() throws Exception {
//模拟发送请求
String result =
mockMvc.perform(get("/user") //发往/user的get请求,可以换成post,put,delete方法执行相应请求
.param("username","xxx") //get请求时填写参数的位置
.contentType(MediaType.APPLICATION_JSON_UTF8) //utf编码
.content(content)) //post和put请求填写参数的位置
.andExpect(status().isOk())
.andExpect(jsonPath("$.length()").value(3)) //期望的json返回结果
.andReturn().getResponse().getContentAsString(); //对返回字符串的json内容进行判断
log.info(result);
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
java restful接口测试_详解SpringBoot restful api的单元测试相关推荐
- java 引用传递_详解java的值传递、地址传递、引用传递
详解java的值传递.地址传递.引用传递 一直来觉得对值传递和地址传递了解的很清楚,刚才在开源中国上看到一篇帖子介绍了java中的值传递和地址传递,看完后感受颇深.下边总结下以便更容易理解. 按照以前 ...
- java内部格式_详解java内部类的访问格式和规则
详解java内部类的访问格式和规则 1.内部类的定义 定义一个类来描述事物,但是这个事物其中可能还有事物,这时候在类中再定义类来描述. 2.内部类访问规则 ①内部类可以直接访问外部类中的成员,包括私有 ...
- java comparator相等_详解Java中Comparable和Comparator接口的区别
详解Java中Comparable和Comparator接口的区别 发布于 2020-7-20| 复制链接 摘记: 详解Java中Comparable和Comparator接口的区别本文要来详细分析一 ...
- python java混合编程_详解java调用python的几种用法(看这篇就够了)
java调用python的几种用法如下: 在java类中直接执行python语句 在java类中直接调用本地python脚本 使用Runtime.getRuntime()执行python脚本文件(推荐 ...
- Java implement意思_详解JAVA中implement和extends的区别
详解JAVA中implement和extends的区别 发布于 2020-4-14| 复制链接 摘记: 详解JAVA中implement和extends的区别extends是继承父类,只要那个类不是声 ...
- java sleep唤醒_详解Java中的线程让步yield()与线程休眠sleep()方法
Java中的线程让步会让线程让出优先级,而休眠则会让线程进入阻塞状态等待被唤醒,这里我们对比线程等待的wait()方法,来详解Java中的线程让步yield()与线程休眠sleep()方法 线程让步: ...
- idea看java版本设置_详解IntelliJ IDEA 中如何配置多个jdk版本即(1.7和1.8两个jdk都可用)...
详解IntelliJ IDEA 中如何配置多个jdk版本即(1.7和1.8两个jdk都可用) 有时候需要看Java源码,但是 Java 1.7 和 Java 1.8的差别的关系,有时候你想查看不同jd ...
- java排序接口_详解JAVA使用Comparator接口实现自定义排序
1.原则 Comparator接口可以实现自定义排序,实现Comparator接口时,要重写compare方法: int compare(Object o1, Object o2) 返回一个基本类型的 ...
- java字体推荐_详解Eclipse 字体、字号的设置、最佳字体推荐
Eclipse 最佳字体 推荐: 步骤:Eclipse->Windows[窗口]->Preferences[首选项]->General[常规]->Appearance[外观]- ...
最新文章
- python多进程原理_python多进程的详细介绍(附示例)
- ReDim Preserve 的用途
- 5张图搞懂Java深浅拷贝
- static和不完全类型的一个例子
- 从零开始攻略PHP(8)——面向对象(下)
- 初来乍到!各位博客朋友多多支持!
- 外卖和快递行业数据_抢人大战愈演愈烈,东莞再现用工荒!不只流向外卖、快递等行业...
- Kunpeng BoostKit 使能套件:大数据场景如何实现“大鹏一日同风起”倍级性能提升?
- scala通过JDBC进行数据库操作
- Apache 更改80端口
- IE6不支持min-heigt的bug解决的办法
- 洛谷 P1036 [NOIP2002 普及组] 选数(DFS)
- HDU2524 矩形A + B【组合计算】
- .net 3.5 数据库开发 之 LINQ 上
- 使用windbg调试程序
- Maven下载和安装
- c++语言“case”,C++ switch case详解
- cf计算机丢失msvcp100,Win7丢失MSVCP100.dll导致程序无法启动怎们办
- CAT-6:六类/增强六类双绞线标准
- matlab正方形追及问题,行测常考题型讲解:环形相遇与追及问题
热门文章
- wxpython 可视化开发pdf_MicroPython for the Internet of Things.pdf
- 安卓APP_ 布局(3) —— FrameLayout帧布局
- 全国计算机等级考试题库二级C操作题100套(第26套)
- matlab colorbar采用对数,matlab colorbar的使用 | 學步園
- Error occurred while trying to proxy request
- mysql使用字符函数length,获取参数值的字节个数
- 图解java工程师学习路线
- java lambda 表达式中的双冒号和箭头的用法 ::
- 以太网性能测试仪应该具备什么功能?
- 后端:SpringBoot 的@Value注解,高级特性,非常实用!!