我很崇拜那些单元测试写的很6的同学。
JUnit4我也没系统的学过,也就是跟着写一写,今天脑子一热,想系统的了解一下JUnit框架的功能,于是打开了JUnit官方用户手册,也懒得看4了,不多说,直接上版本5。
什么是JUnit5
和JUnit4相比,在结构上变化很大,JUnit5是由来自3个项目的多个模块组成的。
JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage
- JUnit Platform: JUnit的基础平台,定义了TestEngine的API,以及从命令行运行的控制台
- JUnit Jupiter: 组合了新的编程模型和扩展模型用在JUnit5中编写测试
- JUnit Vintage: 提供了一个测试引擎用来运行3和4版本的测试用例
是不是到了6版本的时候,针对新版本做一个新的实现?这种设计还是值得借鉴的,把变化的与不变分开。
在Maven中集成JUnit5
JUnit5需要Java8以上的运行环境
1 | <dependency> |
在Maven项目中通过集成上述的依赖就可以使用JUnit5提供的基本功能了。需要注意的是这个依赖包是一个组合jar,它是由junit-jupiter-api
unit-jupiter-params
junit-jupiter-engine
组成
第一个JUnit5测试
看上去是不是和JUnit4没什么区别?除了@Test
包所在的位置不一样外
1 | import static org.junit.jupiter.api.Assertions.assertEquals; |