大家好,我是大洋。有不会编程但不做单元测试的小伙伴吗?答应我,看完本专栏《JUnit5教程》,提高编码调试效率,告别bug。1.JUnit5体系结构JUnit5是使用最广泛的Java应用程序测试框架。长期以来,JUnit一直在完美地完成它的工作。与以前的JUnit版本不同,JUnit5由三个不同子项目中的几个不同模块组成。JUnit5=JUnitPlatform+JUnitJupiter+JUnitVintageJUnitPlatform是在JVM上启动测试框架的基础。它还定义了TestEngine(测试引擎)用于开发在平台上运行的测试框架的API。此外,该平台还提供了一个控制台启动器,用于从命令行启动平台,以及一个JUnit平台套件引擎,用于使用平台套件上的一个或多个测试引擎运行自定义测试。您可以使用流行的IDE(IntelliJIDEA、Eclipse、NetBeans和VisualStudioCode)和构建工具(参见Gradle、Maven和Ant)创建测试示例。JUnitJupiter是一种新的编程模型和用于在JUnit5中编写测试和扩展的扩展模型的组合。Jupiter子项目提供了一个TestEngine(测试引擎),用于在平台上运行基于Jupiter的测试。JUnitVintage提供了一个TestEngine(测试引擎),用于在平台上运行基于JUnit3和JUnit4的测试。但需要JUnit4.12或更高版本存在于类路径或模块路径中。JUnit5在运行时需要Java8(或更高版本)。2.第一个测试实例2.1依赖引用我们使用maven构建了第一个JUnit5测试实例。首先在maven的pom文件中引入依赖:4.0.0cn.dayangshuocn.dayangshuo.junit5-tutorial1.0.01.8UTF-8UTF-85.8.21.8.2org.junit.jupiterjunit-jupiter<版本>${junit.jupiter.version}testorg.junit.platformjunit-platform-suite<版本>${junit.platform.version}testorg.apache.maven.pluginsmaven-compiler-plugin3.8。1${java.version}${java.version}${project.build.sourceEncoding}配置>插件><插件>org.apache.maven.pluginsmaven-surefire-plugin2.22.2我们主要引入了两个依赖junit-jupiter和junit-platform-suite,其中junit-jupiter由三个依赖组成,分别是:junit-jupiter-api:都是主要的核心注解所在的模块,如@Test、生命周期方法注解和断言。junit-jupiter-engine:它具有在运行时执行测试所需的测试引擎实现。junit-jupiter-params:参数化测试组件。junit-platform-suite模块提供的@Suite支持允许JUnitPlatform运行器执行组测试。2.2测试例子第一个测试例子,首先在main>java>cn.dayangshuo.junit5中创建一个简单的二数加法类:packagecn.dayangshuo.junit5;/***@authorDAYANG*/publicclassCalculator{//添加两个数字publicstaticintadd(inta,intb){returna+b;}}测试示例:packagecn.dayangshuo.junit5.tests;importcn.dayangshuo.junit5.Calculator;importorg.junit.jupiter.api.Assertions;importorg.junit.jupiter.api.Test;/***@作者DAYANG*/publicclassSimpleTests{@TestvoidaddTwoNumbers(){Assertions.assertEquals(2,Calculator.add(1,1),"1+1应该等于2");}}好了,我们已经完成了第一个JUnit5测试示例,接下来我们将讨论JUnit5测试阶段的生命周期,以及一些与JUnit4方法不同的注解的使用。