使用 JUnit 和 Mockito 测试 Spring Boot 3 应用程序
使用 JUnit、Mockito、AssertJ、Hamcrest、JsonPath 和 Testcontainers 对 Spring Boot 应用程序进行单元测试和集成测试
讲师:Ramesh Fadatare (Java Guides)
口袋资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
你将会学到的
- 从头开始学习使用 Spring Boot Starter Test 依赖项以 BDD(行为驱动开发)风格编写行业标准的单元和集成测试
- 了解如何使用给定的/何时/然后的 BDD(行为驱动开发)格式来编写单元测试。
- 学习对 Spring boot 应用程序 Repository 层进行单元测试
- 学习单元测试 Spring Boot 应用服务层
- Learn to Unit test Spring boot application Controller layer – 单元测试 REST API’s
- 了解如何对 Spring Boot 应用程序进行集成测试
- 您将学习使用最重要的单元测试注解——@SpringBootTest、@WebMvcTest、@DataJpaTest 和@MockBean
- 使用 Spring Boot Starter Test 中的所有框架 – JUnit、Spring Test、Spring Boot Test、AssertJ、Hamcrest、Mockito、JSONassert 和 JsonPath。
- 您将学习使用 Mockito 创建的模拟和存根编写单元测试
- 了解如何使用 Mockito 注释创建模拟对象。
- 学习使用 MySQL 数据库编写集成测试
- 您将学习为与多层(控制器、服务和存储库层)对话的 RESTFUL Web 服务编写独立的集成测试。
- 学习使用测试容器编写集成测试
要求
- Java编程
- 很高兴了解 JUnit 和 Mockito 基础知识
- 很高兴了解 Spring Boot 基础知识
- 使用 IntelliJ IDEA 的基本理解
说明
在本课程中,您将学习如何使用 JUnit 5、Mockito、AssertJ、Hamcrest、JsonPath 和 Testcontainers 框架以 BDD 风格为 Spring Boot 应用程序编写单元测试和集成测试。
重要说明:本课程已更新为使用Spring Boot 3。
本课程的目的是教您如何对 Spring Boot 应用程序的不同层进行单元测试,例如存储库层、服务层和控制器层。您还将学习如何使用 MySQL 数据库和测试容器执行集成测试。
和我一起在视频中输入代码。如果您跟随我,那么这将增强您的学习体验。
源代码和 PDF 文件(课堂笔记)可供下载。
春季启动概述
Spring Boot 是一个自以为是的框架,可帮助开发人员快速轻松地构建基于 Spring 的应用程序。
Spring Boot 的主要目标是快速创建基于 Spring 的应用程序,而不需要开发人员一次又一次地编写相同的样板配置。
Spring Boot 是一个非常流行的框架,用于开发 REST Web 服务和微服务。
你会学到什么?
- 从头开始学习使用Spring Boot Starter Test依赖项以 BDD(行为驱动开发)风格编写行业标准的单元和集成测试
- 了解如何使用给定的/何时/然后的 BDD(行为驱动开发)格式来编写单元测试。
- 学习对 Spring boot 应用程序Repository 层进行单元测试
- 学习单元测试 Spring Boot 应用服务层
- 学习对 Spring boot 应用程序控制器层进行单元测试
- 了解如何对 Spring Boot 应用程序进行集成测试。
- 了解如何使用Testcontainers进行集成测试// 非常重要
- 您将学习使用最重要的单元测试注释 – @SpringBootTest 、@WebMvcTest 、 @ DataJpaTest和@MockBean
- 在 Spring Boot 入门测试中使用所有框架 – JUnit、Spring Test、Spring Boot Test、AssertJ、Hamcrest、Mockito、JSONassert 和 JsonPath。
- 您将学习使用Mockito创建的模拟和存根编写单元测试
- 了解如何使用 Mockito 注释创建模拟对象。
- 学习使用 MySQL 数据库编写集成测试。
- 您将学习为与多层(控制器、服务和存储库层)对话的 RESTFUL Web 服务编写独立的集成测试。
本课程中使用的工具和技术:
技术和图书馆:
- Java 11+
- 弹簧靴
- 春季MVC
- 弹簧数据 JPA(休眠)
- JUnit 5 框架
- Mockito 4(最新)
- Hamcrest框架
- AssertJ 库
- JsonPath 库
走:
- 理解这个想法
数据库:
- H2 内存数据库(用于存储层测试)
- MySQL 数据库(用于集成测试)
学生对本课程的惊人评价:
“Ramesh 是一位伟大的老师,他对复杂的概念给出了非常清晰的解释。”
“Ramesh 对事情的解释非常好!他的说明易于遵循和理解。课程非常有益”
“✔ 结构良好的课程涵盖所有测试层
✔ 用“切中要点”的解释来实现每个方法
✔ 很好地介绍了 TestContainers
✔ 易于编码
✔ 导师快速解答
寻找更深入的课程,例如生产中使用的 Maven、Gradle、DevOps 工具”
“很棒的课程。
讨论了测试 spring 应用程序所需的所有基础知识,等等。
正是我需要的,但在任何地方都找不到。
拉梅什是一位出色的教练。
谢谢你,先生 !”
“一门很好的课程,用优秀的例子进行了解释。
从本课程中可以学到很多东西,涵盖了典型 Spring Boot 应用程序的每一层。”
“我真的很感谢教练 Ramesh 提供的这门很棒的课程,
这个课程的内容和讲解都很棒。”
“很棒的先生,喜欢你解释事情的方式。我很幸运,我在正确的时间找到了这门课程。”
“我个人对这门课程印象非常深刻,如果你以前没有任何单元测试经验,我很确定在学习这门课程后你会感觉更加自信,如果讲师也能发布一些关于微服务的培训教程,我会很高兴和 TDD 方法。感谢并祝你一切顺利。”
“即使作为经验丰富的人,这门课程也非常有用……”
“这门课程很棒,涵盖了我创建测试所需的一切。
我真的推荐它。”
“很棒的课程。这是我从 Ramesh 学习的第二门课程。到目前为止很有趣。”
“很棒的课程,强烈推荐。”
“这门课程很适合我。尤其是因为它是新的和最新的。”
“伟大的老师和伟大的课程”
“是的,这对我来说是一个很好的匹配,我很高兴我注册了这个。我个人更喜欢 ramesh.fadatare 的教学。我开始从 YouTube 上观看他的视频,也浏览了他对堆栈溢出中的一些问题的评论。我想要是能一次性看完他所有的视频就好了。”
“这就是他们要求你在一份真正的工作中做的……请多做一些课程 ramesh ……一如既往的惊人”
此课程面向哪些人:
- 本课程面向初学者和专业人士,教授如何为 Spring Boot 应用程序编写单元和集成测试。