![47fc15ad2ce7a48848b24807a786a695.png](https://i-blog.csdnimg.cn/blog_migrate/f9f5d24946689ae7e8288e652690462d.jpeg)
上一章我们分享了“使用JUnit、AssertJ和Mockito编写单元测试需要准备好的开发环境”。这一章我们来讲讲“什么是JUnit”。
Never in the field of software development was so much owed by so many to so few lines of code.
软件开发史上从未有过如此少量的代码对如此广阔的领域产生了如此巨大的作用。
--Martin Fowler
1997年,Eric Gamma(设计模式“四人帮”之一,Eclipse之父)和Kent Beck(极限编程方法学创始人)在从瑞士苏黎世飞往美国亚特兰大的飞机上偶遇,因为长路漫漫无心睡眠,两个人就进行结对编程,在下飞机之前完成了JUnit这个测试框架的第一个版本。此后,JUnit迅速传播,成为几乎每个Java项目的标配。
JUnit超级流行,是事实上的Java 单元测试和TDD的工具标准。有人在2016年选择了GitHub上最流行的3862个Java项目,找出了最常用的100个组件,可以看到JUnit 以63%的采用率遥遥领先于其他的组件:
![5f27a77aa58a7eae03b98391be00172a.png](https://i-blog.csdnimg.cn/blog_migrate/9394fcdd8c0b8621ae6d051a1c5bd171.jpeg)
知名的项目都有很高的单元测试覆盖率。而JUnit是Java领域单元测试的事实上的标准。另一个可以与JUnit抗衡的测试框架是TestNG,但只有不到10%的采用率。
JUnit 概述
JUnit是事实上的Java测试框架标准。至今JUnit已经发布了第5个版本。与以前的版本相比,JUnit5作出了大量的改进。本教程也是以版本5为基准介绍JUnit的使用。
JUnit 5需要JDK 8.0以上版本。
1. JUnit 5的组成
JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage
JUnit 5主要由三大部分组成:
-
<