Logo

本课程主要内容是什么?

了解 Java 的 JUnit 5 测试框架。

概念

本课程主要内容是什么?

了解 Java 的 JUnit 5 测试框架。

简介

Java 开发者可能没有使用过 Spring 或 Hibernate 框架,但应该了解 JUnit。作为 Java 的事实标准单元测试框架,JUnit 是开发者的热门选择。尽管出现了像 TestNG 这样的新单元测试框架,但 JUnit 仍然是许多新项目进行单元测试的首选。JUnit 5 于 2017 年 9 月 10 日发布,引入了许多新特性,同时仍能运行使用 JUnit 4 和 JUnit 3 编写的测试用例。

...

什么是 JUnit 5?

JUnit 5 由三个子项目组成:

  • JUnit Platform:是启动 JVM 上测试框架的基础。
  • JUnit Jupiter:提供了 JUnit 5 的全新编程模型和扩展模型。
  • JUnit Vintage:在 JUnit Platform 上运行 JUnit 4 和 JUnit 3 的测试。它要求类路径或模块路径中存在 JUnit 4.12 及以上版本。
...
JUnit 5 架构

JUnit Jupiter 和 JUnit Vintage 是基于 JUnit Platform 的两种不同实现。每个子项目包含一个或多个模块,这些模块的构件可以在其他场景中复用。本课程将使用 JUnit 5 版本 5.8.2。

目标受众

单元测试已演变为设计、编码与调试的精彩结合。本课程将帮助我们从测试中获得实际价值。即使你对相关概念尚不熟悉,本课程也能帮助你掌握大部分单元测试的核心内容。

...

先决条件

本课程的要求包括:

  • 掌握 Java 语言的基本知识。
  • 对单元测试、外部依赖项和库有基本理解。

JUnit 5 相较于 JUnit 4 的优势

让我们来看一下 JUnit 5 相较于 JUnit 4 的主要优势:

JUnit 版本对比

JUnit 4JUnit 5
JUnit 4 将整个框架打包在一个 jar 文件中,这意味着即使只需要一个功能,也必须导入整个库。JUnit 5 提供了更细粒度的模块化结构,可按需导入所需部分。
在 JUnit 4 中,测试运行器一次只能执行一个测试(例如 SpringJUnit4ClassRunner 或 Parameterized)。JUnit 5 支持多个运行器同时工作。
JUnit 4 不支持 Java 8,因此无法利用 Java 8 的诸多新特性。JUnit 5 充分利用了 Java 8 的特性。

编写基础测试