第二节:SpingBoot单元测试
SpingBoot 365计划开始更新了,计划手敲365个SpringBoot案例回顾总结形成知识体系。目前已经输出了32节的内容。所有源码托管在GitHub和Gitee上。
- 1.第一节:创建SpringBoot项目并运行HelloWorld.md
- 2.第二节:SpingBoot单元测试.md
- 3.第三节:SpringBoot中web项目推荐目录结构.md
- 4.第四节:SpringBoot中web模版数据渲染展示.md
- 5.第五节:SpringBoot常用注解介绍.md
- 6.第六节:SpingBoot基本配置一.md
- 7.第七节:SpringBoot高级属性配置二.md
- 8.第八节:SpringBoot指定配置文件配置三.md
- 9.第九节:SpringBoot在线文档Swagger2入门.md
- 10.第十节:SpringBoot中的日志管理.md
- 11.第十一节:Springboot整合log4j2日志.md
- 12.第十二节:Springboot多环境配置.md
- 13.第十三节:使用Lombok简化你的代码.md
- 14.第十四节:SpringBoot使用JdbcTemplate访问操作数据库基本用法.md
- 15.第十五节:SpringBoot使用JPA访问数据库.md
- 16.第十六节:SpringBoot使用JPA一对多,多对多访问数据库.md
- 17.第十七节:SpringBoot使用JPA实现用户角色多对多查询.md
- 18.第十八节:SpringBoot集成MyBatis注解方式访问数据库.md
- 19.第十九节:SpringBoot集成MyBatis(XML)方式访问数据库.md
- 20.第二十节:SpringBoot集成MyBatis实现分页.md
- 21.第二十一节:SpringBoot使用Mybatis
- 22.第二十二节:SpringBoot集成MyBatis-Plus实现增删改查.md
- 23.第二十三节:SpringBoot统一异常处理3种方式.md
- 24.第二十四节:SpringBoot中数据校验JSR303.md
- 25.第二十五节:SpringBoot中自定义一个JSR303规范的注解校验器.md
- 26.第二十六节:SpringBoot集成Redis配置的基本操作.md
- 27.第二十七节:SpringBoot中的stream实现消息队列.md
- 28.第二十八节:SpringBoot中使用Redis实现超时取消订单.md
- 29.第二十九节:SpringBoot中Redis实现消息订阅.md
- 30.第三十节:SpringBoot集成ehcache使用JVM内存模式缓存.md
- 31.第三十一节:SpringBoot集成ehcache使用Redis模式缓存.md
- 32.第三十二节:SpringBoot集成WebSocket.md
- 未完待续。。。。。
一般我们在写某个功能后,就会使用测试数据,验证我们的代码是否能输出预期的值。这时候就会用到单元测试。SpingBoot官方给我们提供了
spring-boot-starter-test
测试组件。
在上一节项目的基础上pom.xml引入依赖
org.springframework.bootspring-boot-starter-test
- test目录下创建测试类
- 创建
com.rumenz.lession2.HelloWorldTest2HelloWorld
文件
方法1
使用
@SpringBootTest
和@AutoConfigureMockMvc
注解。com.rumenz.lession2.HelloWorldTestHelloWorld
HelloWorldTestHelloWorld.java
@SpringBootTest
@AutoConfigureMockMvc
public class HelloWorldTestHelloWorld {@Autowiredprivate MockMvc mockMvc;@Testpublic void testHelloWorld() throws Exception {this.mockMvc.perform(MockMvcRequestBuilders.get("/")).andDo(MockMvcResultHandlers.print()).andExpect(MockMvcResultMatchers.status().isOk()).andExpect(MockMvcResultMatchers.content().string(Matchers.containsString("入门小站")));}
}
方法2
使用
@WebMvcTest
注解,com.rumenz.lession2.HelloWorldTest2HelloWorld
/*** @className: HelloWorldTestHelloWorld* @description: TODO 类描述* @author: 入门小站 rumenz.com 微信公众号:入门小站* @date: 2021/10/31**/@WebMvcTest
public class HelloWorldTest2HelloWorld {@Autowiredprivate MockMvc mockMvc;@Testpublic void testHelloWorld() throws Exception {this.mockMvc.perform(MockMvcRequestBuilders.get("/")).andDo(MockMvcResultHandlers.print()).andExpect(MockMvcResultMatchers.status().isOk()).andExpect(MockMvcResultMatchers.content().string(Matchers.containsString("入门小站")));}
}
跑测试
在@Test注解处右键,
Run 'testHelloWorld()' with 'Allocation Profiler'
测试结果
本小结源码地址:
- GitHub:https://github.com/mifunc/springboot/tree/main/lession1
- Gitee:https://gitee.com/rumenz/springboot/tree/master/lession1
- 原文:https://rumenz.com/rumenbiji/springboot-test.html
介绍
- 我的博客 https://rumenz.com/
- 我的工具箱 https://tooltt.com/
- 微信公众号:【入门小站】
- 关注【入门小站】回复【1001】获取 linux常用命令速查手册
- 关注【入门小站】回复【1003】获取 LeetCode题解【java语言实现】
- 关注【入门小站】回复【1004】获取 Java基础核心总结
- 关注【入门小站】回复【1009】获取 阿里巴巴Java开发手册
第二节:SpingBoot单元测试相关推荐
- Kotlin学习笔记 第二章 类与对象 第二节属性
参考链接 Kotlin官方文档 https://kotlinlang.org/docs/home.html 中文网站 https://www.kotlincn.net/docs/reference/p ...
- AOSP>设计>测试(第二节)测试开发工作流
AOSP>设计>测试 第二节 测试开发工作流 一.概览 测试类型 测试用例准则 二.简单配置 示例 设置 三.复杂配置 目标准备器 测试类 四.插桩测试 概览 主要概念 步骤总结 自插桩测 ...
- 第二节认识计算机教案,第二章 第二节 局域网的构建 教学设计_博客
<第二章 第二节 局域网的构建 教学设计_博客>由会员分享,可在线阅读,更多相关<第二章 第二节 局域网的构建 教学设计_博客(3页珍藏版)>请在装配图网上搜索. 1.第二章 ...
- 【v2.x OGE-example 第二章(第二节) 修改器的使用】
2019独角兽企业重金招聘Python工程师标准>>> [v2.x OGE-example 第二章(第二节) 修改器的使用] 1. 位置:Modifier_example --> ...
- SQL Server性能调优之执行计划深度剖析 第二节 执行计划第一次实践
SQL Server性能调优之执行计划深度剖析 第二节 执行计划第一次实践 前言:自从上一篇文章发出之后,收到了很朋友的关注.很多朋友要求多多实践,而不是纯粹的理论.确实,从打算出这个系列开始,我就本 ...
- 工程项目管理丁士昭第二版_2021年软考系统集成项目管理工程师知识点预习第十四章第二节...
听说99%的同学都来这里充电吖 为了方便大家尽早投入2021年的软考考试备考中,我们已开始连载<系统集成项目管理工程师>知识点,今天带来的是 第十四章 第二节 编制询价~ 知识点:第十四章 ...
- 第二节 RabbitMQ配置
第二节 RabbitMQ配置 原文:第二节 RabbitMQ配置 版权声明:未经本人同意,不得转载该文章,谢谢 https://blog.csdn.net/phocus1/article/detail ...
- Simulink仿真 第二节 输入输出和子系统
第二节 输入输出和子系统 可将某一功能创建成为一个子系统,如下图所示:第一张图为完整图,第二张图为创建了子系统的图,两张图的功能一模一样. 双击子系统显示为下图所示 第三节 Groud(接地)模块和T ...
- 程序员编程艺术第一章(第二节)
第二节:两指针逐步翻转 思路: abc defghi,要 abc 移动至最后 abc defghi->def abcghi->def ghiabc 定义俩指针, p1 指向 ch[0], ...
最新文章
- python软件是免费的吗-python属于软件吗
- mysql_sed_使用sed提取mysql备份的一行部分
- ref的mysql_ref:Mysql授权远程登陆
- ubuntu tftp 端口 NFS端口固定与防火墙
- 凸优化第二章凸集 2.1 仿射集合和凸集
- android获得手机目录,关于android手机文件目录的收集
- 量化投资知识,量化交易
- 设计模式——单例模式八种方式实现与分析(附代码示例)
- PDF如何旋转页面 PDF旋转页面的方法
- 域名续费如何省钱?将域名转入阿里云的一次操作过程
- BING搜索引擎技巧
- URAL 1069 Prufer Code(模拟)
- 浏览器提示网站链接不安全,证书过期了
- 关于 傅里叶变换 的一些理解(通俗版)
- jupyter离线包_[伟哥艾路]jupyter实验室包的离线安装,小,AI,之路,Jupyter,jupyterlab
- 初学计算机应该学些什么,学电脑要先学什么 学电脑要学习什么知识
- 那就祝你有数不尽的鲜花和浪漫
- eclipse新建项目没有src解决办法
- 华为电子邮件显示未读邮件1_您所说的话:如何使电子邮件垃圾邮件保持整洁...
- 洛谷P1489 猫狗大战