spring-boot中使用junit做单元测试
2021-05-26 本文已影响0人
码男将将
1.单元测试概述
- 单元测试用例是一部分代码,可以确保另一端代码(controller)按预期工作。
- 一个正式的编写好的单元测试用例的特点是:已知输入和预期输出,即在测试执行前就已知。已知输入需要测试的先决条件,预期输出需要测试后置条件。
- 每一项需求至少需要两个单元测试用例:一个正检验,一个负检验。如果一个需求有子需求,每一个子需求必须至少有正检验和负检验两个测试用例。
2.junit概述
2.1什么是junit?
JUnit 是一个 Java 编程语言的单元测试框架。JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的单元测试框架之一。
2.2junit特点
- JUnit 是一个开放的资源框架,用于编写和运行测试。
- 提供注释来识别测试方法。
- 提供断言来测试预期结果。
- 提供测试运行来运行测试。
- JUnit 测试允许你编写代码更快,并能提高质量。
- JUnit 优雅简洁。没那么复杂,花费时间较少。
- JUnit 测试可以自动运行并且检查自身结果并提供即时反馈。所以也没有必要人工梳理测试结果的报告。
- JUnit 测试可以被组织为测试套件,包含测试用例,甚至其他的测试套件。
- JUnit 在一个条中显示进度。如果运行良好则是绿色;如果运行失败,则变成红色。
2.3junit权威指南
最权威的永远是官网传送门-->http://junit.org 或者 http://junit.org/junit4/
3.单元测试编写示例
3.1依赖导入
共需三个依赖第三个依赖(Gson)为后面post示例是数据类型转换用
![](https://img.haomeiwen.com/i26431396/d9b0f4bf0e5e3d3c.png)
3.2创建单元测试类
在controller文件中右键 Go to--> Test
![](https://img.haomeiwen.com/i26431396/d4335e1114de1a4f.png)
如果之前没有创建过单元测试,则会出现下图询问是否创建test模块
![](https://img.haomeiwen.com/i26431396/a1a58aeb366e9742.png)
确认创建后会让选择创建那几个接口和使用的junit版本.现在junit版本为junit4, post和get方法都选择后点击ok
![](https://img.haomeiwen.com/i26431396/334b1bea1d52fb1e.png)
单元测试类生成成功
![](https://img.haomeiwen.com/i26431396/5d3791ec60bb6b9e.png)
3.3junit+mockmvc代码架构编写
添加类注解
![](https://img.haomeiwen.com/i26431396/ceba6c65135fb5da.png)
添加mockmvc方法
![](https://img.haomeiwen.com/i26431396/0b64edb8946126fb.png)
3.4get和post请求实例
GET 请求
![](https://img.haomeiwen.com/i26431396/2bce93c4b86d37b4.png)
POST 请求
![](https://img.haomeiwen.com/i26431396/8f0e3d4023894eed.png)