怎样使用Spring Boot项目的单元测试
在实际开发中,每当完成一个功能接口或业务方法的编写后,通常都会借助单元测试验证该功能是否正确。Spring Boot对项目的单元测试提供了很好的支持,在使用时,需要提前在项目的pom.xml文件中添加spring-boot-starter-test测试依赖启动器,可以通过相关注解实现单元测试。这里,以之前创建的chapter01项目为例对Spring Boot项目的单元测试进行使用演示,具体步骤如下。
1.添加spring-boot-starter-test测试依赖启动器
在项目的pom.xml文件中添加spring-boot-starter-test测试依赖启动器,示例代码如下。
上述代码中,展示了Spring Boot框架集成单元测试提供的依赖启动器,其范围默认为test。需要说明的是,如果是使用Spring Initializr方式搭建的Spring Boot项目,会自动加入spring-boot-starter-test测试依赖启动器,无需开发者再手动添加。
2.编写单元测试类和测试方法
在项目中添加测试依赖启动器后,可以编写Spring Boot项目中相关方法对应的单元测试。如果是使用Spring Initializr方式搭建的Spring Boot项目,会在src.test.java测试目录下自动创建与项目主程序启动类对应的单元测试类。例如,chapter01项目的Chapter01ApplicationTests是自动生成的单元测试类,内容如文件1所示。
文件1 Chapter01ApplicationTests.java
文件1中,Chapter01ApplicationTests是chapter01项目主程序启动类对应的单元测试类,该类自动生成了一个单元测试方法的示例。第9行代码的@SpringBootTest注解用于标记该类为测试类,并加载项目的ApplicationContext上下文环境;第8行代码的@RunWith注解是一个测试类运行器,用于加载Spring Boot测试注解@SpringBootTest。
下面,在单元测试类Chapter01ApplicationTests中添加HelloController类中hello()请求控制方法对应的单元测试方法,示例代码如下。
上述代码中,先使用@Autowired注解注入了HelloController实例对象,然后在helloControllerTest()方法中调用了HelloController类中对应的请求控制方法hello(),并输出打印结果。
选中单元测试方法helloControllerTest(),鼠标右键单击“Run ‘helloControllerTest()’”选项启动测试方法,此时控制台的打印信息如图1所示。
图1 helloControllerTest()单元测试方法效果
从图1可以看出,控制台打印出了“hello Spring Boot”信息,说明了控制类HelloController中编写的hello()方法正确,并且单元测试方法执行成功。
怎样使用Spring Boot项目的单元测试相关推荐
- 怎样使用Spring Boot项目的单元测试?
在实际开发中,每当完成一个功能接口或业务方法的编写后,通常都会借助单元测试验证该功能是否正确.Spring Boot对项目的单元测试提供了很好的支持,在使用时,需要提前在项目的pom.xml文件中添加 ...
- 【spring boot】10.spring boot下的单元测试
spring boot下的单元测试,思前想后还是需要单独用一章篇幅来看看. 然后在看了介绍和使用时候,我感觉并不想多去看了. 但是还是给后来人留下参考的路径: 官网说明:https://spring. ...
- 在Spring Boot项目中使用Spock框架
转载:https://www.jianshu.com/p/f1e354d382cd Spock框架是基于Groovy语言的测试框架,Groovy与Java具备良好的互操作性,因此可以在Spring B ...
- 后端开发实践:Spring Boot项目模板
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达今日推荐:2020年7月程序员工资统计,平均14357元,又跌了,扎心个人原创100W+访问量博客:点击前往,查看更多 作者 ...
- 后端开发实践:Spring Boot项目模板,拿去用吧!
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:干掉 Navicat:这个 IDEA 的兄弟真香!个人原创100W+访问量博客:点击前往,查看更多 作者:无知者 ...
- Vue + Spring Boot 项目实战(二十一):缓存的应用
重要链接: 「系列文章目录」 「项目源码(GitHub)」 本篇目录 前言 一.缓存:工程思想的产物 二.Web 中的缓存 1.缓存的工作模式 2.缓存的常见问题 三.缓存应用实战 1.Redis 与 ...
- 后端开发实践——Spring Boot项目模板
在我的工作中,我从零开始搭建了不少软件项目,其中包含了基础代码框架和持续集成基础设施等,这些内容在敏捷开发中通常被称为"第0个迭代"要做的事情.但是,当项目运行了一段时间之后再来反 ...
- 后端开发实践系列——Spring Boot项目模板
在我的工作中,我从零开始搭建了不少软件项目,其中包含了基础代码框架和持续集成基础设施等,这些内容在敏捷开发中通常被称为"第0个迭代"要做的事情.但是,当项目运行了一段时间之后再来反 ...
- 第2章 第一个Spring Boot项目
开发工具选择 工欲善其事必先利其器,我们进行Java项目开发,选择一个好的集成开发工具(IDE)对提高我们的开发调试效率有非常大的帮助.这里我们选择大名鼎鼎的IDEA ,它全称 IntelliJ ID ...
最新文章
- 人工智能三年行动计划启动,推动人工智能和实体经济深度融合
- java中线程切换的开销
- 消息队列软件产品大比拼
- pynlpir + pandas 文本分析
- linux上安装telnet服务器:linux vmvare虚拟机 安装telnet redhat9
- vba php,VBA
- 【今日CV 计算机视觉论文速览】Fri, 22 Feb 2019
- [机器学习-原理篇]学习之线性回归、岭回归、Lasso回归
- mysql odbc 驱动_mysql odbc驱动 mysql odbc connector
- 李明顺专栏周5月12日:给门户支招
- Atitit 如何做数据分析 描述型:发生了什么?可视化仪表盘化很重要。	1 2. 诊断型:为什么会发生?结合历史记录	1 3. 预测型:可能发生什么?	2 4. 指导型 规划未来行动:我需要做什
- 微信小程序 图片轮播 视频
- C语言——二进制转为十进制
- 兵法三十六计第二计-围魏救赵。
- 四种形态图解_波浪理论:调整浪的四种形态(图解)
- 淘宝收藏加购对流量分配有影响吗?
- C# 操作.eml文件
- 机械爪-Solidworks图纸(三维图纸+二维图纸)
- 提高MES设备稼动率的管理策略
- Mjpeg-streamer源码学习笔记-Main-守护进程Daemon(二)
热门文章
- .Net中如何操作IIS(源代码)
- jupyter notebook出现cannot import name 'create_prompt_application'问题(Died Kernel)
- springMvc+mybatis+spring 整合 包涵整合activiti 基于maven
- App功能测试的注意点
- Linux内核中锁机制之完成量、互斥量
- String、StringBuffer与StringBuilder之间区别 (转载)
- CHUCK手把手带你搞定OPENSTACK
- Ubuntu + VirtualBox + windows xp互相访问
- 静态属性和静态方法2 - C++快速入门22
- JavaScript继承详解(四)