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单元测试相关推荐

  1. Kotlin学习笔记 第二章 类与对象 第二节属性

    参考链接 Kotlin官方文档 https://kotlinlang.org/docs/home.html 中文网站 https://www.kotlincn.net/docs/reference/p ...

  2. AOSP>设计>测试(第二节)测试开发工作流

    AOSP>设计>测试 第二节 测试开发工作流 一.概览 测试类型 测试用例准则 二.简单配置 示例 设置 三.复杂配置 目标准备器 测试类 四.插桩测试 概览 主要概念 步骤总结 自插桩测 ...

  3. 第二节认识计算机教案,第二章 第二节 局域网的构建 教学设计_博客

    <第二章 第二节 局域网的构建 教学设计_博客>由会员分享,可在线阅读,更多相关<第二章 第二节 局域网的构建 教学设计_博客(3页珍藏版)>请在装配图网上搜索. 1.第二章 ...

  4. 【v2.x OGE-example 第二章(第二节) 修改器的使用】

    2019独角兽企业重金招聘Python工程师标准>>> [v2.x OGE-example 第二章(第二节) 修改器的使用] 1. 位置:Modifier_example --> ...

  5. SQL Server性能调优之执行计划深度剖析 第二节 执行计划第一次实践

    SQL Server性能调优之执行计划深度剖析 第二节 执行计划第一次实践 前言:自从上一篇文章发出之后,收到了很朋友的关注.很多朋友要求多多实践,而不是纯粹的理论.确实,从打算出这个系列开始,我就本 ...

  6. 工程项目管理丁士昭第二版_2021年软考系统集成项目管理工程师知识点预习第十四章第二节...

    听说99%的同学都来这里充电吖 为了方便大家尽早投入2021年的软考考试备考中,我们已开始连载<系统集成项目管理工程师>知识点,今天带来的是 第十四章 第二节 编制询价~ 知识点:第十四章 ...

  7. 第二节 RabbitMQ配置

    第二节 RabbitMQ配置 原文:第二节 RabbitMQ配置 版权声明:未经本人同意,不得转载该文章,谢谢 https://blog.csdn.net/phocus1/article/detail ...

  8. Simulink仿真 第二节 输入输出和子系统

    第二节 输入输出和子系统 可将某一功能创建成为一个子系统,如下图所示:第一张图为完整图,第二张图为创建了子系统的图,两张图的功能一模一样. 双击子系统显示为下图所示 第三节 Groud(接地)模块和T ...

  9. 程序员编程艺术第一章(第二节)

    第二节:两指针逐步翻转 思路: abc defghi,要 abc 移动至最后 abc defghi->def abcghi->def ghiabc 定义俩指针, p1 指向 ch[0], ...

最新文章

  1. python软件是免费的吗-python属于软件吗
  2. mysql_sed_使用sed提取mysql备份的一行部分
  3. ref的mysql_ref:Mysql授权远程登陆
  4. ubuntu tftp 端口 NFS端口固定与防火墙
  5. 凸优化第二章凸集 2.1 仿射集合和凸集
  6. android获得手机目录,关于android手机文件目录的收集
  7. 量化投资知识,量化交易
  8. 设计模式——单例模式八种方式实现与分析(附代码示例)
  9. PDF如何旋转页面 PDF旋转页面的方法
  10. 域名续费如何省钱?将域名转入阿里云的一次操作过程
  11. BING搜索引擎技巧
  12. URAL 1069 Prufer Code(模拟)
  13. 浏览器提示网站链接不安全,证书过期了
  14. 关于 傅里叶变换 的一些理解(通俗版)
  15. jupyter离线包_[伟哥艾路]jupyter实验室包的离线安装,小,AI,之路,Jupyter,jupyterlab
  16. 初学计算机应该学些什么,学电脑要先学什么 学电脑要学习什么知识
  17. 那就祝你有数不尽的鲜花和浪漫
  18. eclipse新建项目没有src解决办法
  19. 华为电子邮件显示未读邮件1_您所说的话:如何使电子邮件垃圾邮件保持整洁...
  20. 洛谷P1489 猫狗大战

热门文章

  1. 你想要的宏基因组-微生物组知识全在这(190201)
  2. Glide 图片缩放
  3. Stram流处理对象中有集合的最大值
  4. 类与实例到底是什么呢?
  5. 中国十大芯片狂热城市!给钱、给房、给户口,政策谁更猛?
  6. node 图片加水印
  7. 计算机无法播放qsv文件,怎么把电脑上的qsv格式转换成常用的mp4格式
  8. admin.net框架docker部署
  9. 速达软件二次开发-单据佣金和毛利报表开发
  10. va list win linux,云海虚拟化远程接入 利用VA的Linux插件访问使用windows应用