1. 概述
本文档的目的是为测试工程师,扩展工作者和引擎工作者以及构建工具和IDE供应商提供全面的参考文档。
1.1 JUnit 5 是什么?
与以前的JUnit版本不同,JUnit 5 由三个不同的子项目组成。
JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage
JUnit Platform 作为在 JVM 上启动测试框架的基础。它还定义了用于开发在平台上运行的测试框架的测试引擎接口。此外,该平台提供了一个控制台启动器,用于从命令行、Gradle和Maven构建插件以及基于JUnit 4 的执行器启动平台,用于在平台上运行任何测试引擎。
JUnit Jupiter 是用于在 JUnit 5 中编写测试和扩展的新编程模型和扩展模型的组合。Jupiter子项目提供一个用于在平台上运行基于Jupiter的测试用例的测试引擎。
JUnit Vintage 提供一个用于在平台上运行 JUnit 3 和 JUnit 4 测试用例的测试引擎。
1.2 版本支持
JUnit 5 在运行时需要 Java 8 (或更高版本)。但是,使用以前版本的JDK编译的代码仍然可以测试。
1.3 获取帮助
可以在Stack Overflow上询问 JUnit 5 相关问题,或在Gitter上与我们交流。
2. 安装
最终版本和里程碑版本的文件部署到了Maven Central。
快照文件部署到了Sonatype下面的/org/junit快照仓库。
2.1 依赖元数据
2.1.1 JUnit Platform
- Group ID: org.junit.platform
- Version: 1.0.0-RC2
- Artifact IDs:
junit-platform-commons
JUnit的内部公共库/程序。这些程序仅用于JUnit框架本身中。不支持外部用户的任何用途。您自己承担使用的风险!
junit-platform-console
支持从控制台发现和执行JUnit平台上的测试。详情请见Console Launcher。
junit-platform-console-standalone
在Maven Central的junit-platform-console-standalone目录下提供的一个包含所有依赖的可执行Jar包
详情请见Console Launcher。
junit-platform-engine
用于测试引擎的公共API。详情请见Plugging in Your Own Test Engine。
junit-platform-gradle-plugin
支持使用Gradle在JUnit平台上发现和执行测试。
junit-platform-launcher
用于配置和启动测试方案的公共API - 通常由IDE和构建工具使用。详情请见JUnit Platform Launcher API。
junit-platform-runner
用于在JUnit 4环境下,在JUnit平台上执行测试用例和测试套的运行程序。详情请见Using JUnit 4 to Run the JUnit Platform。
junit-platform-suite-api
在JUnit平台上配置测试套的注释。由JUnitPlatform运行程序支持,可能由第三方测试引擎实现。
junit-platform-surefire-provider
支持使用Maven Surefire在JUnit平台上发现和执行测试用例。
2.1.2 JUnit Jupiter
- Group ID: org.junit.jupiter
- Version: 5.0.0-RC2
- Artifact IDs:
junit-jupiter-api
JUnit Jupiter API 用于编写测试和扩展。
junit-jupiter-engine
JUnit Jupiter 测试引擎实现,仅在运行时需要。
junit-jupiter-params
支持 JUnit Jupiter 中的参数化测试。
junit-jupiter-migrationsupport
从 JUnit 4 到 JUnit Jupiter 的迁移支持,只需要运行所选的 JUnit 4 规则。
2.1.3 JUnit Vintage
- Group ID: org.junit.vintage
- Version: 4.12.0-RC2
- Artifact IDs:
junit-vintage-engine
JUnit Vintage 测试引擎实现,允许在新的 JUnit 平台上运行旧的 JUnit 测试用例,即以 JUnit 3 或 JUnit 4 样式编写的测试用例。
2.2 依赖关系图
2.3 JUnit Jupiter 示例项目
基于 JUnit Jupiter 和 JUnit Vintage 的示例项目托管在junit5-samples仓库。您将在下面的项目中找到相应的build.gradle和pom.xml。
对于Gradle,请查看junit5-gradle-consumer项目。
对于Maven,请查看junit5-maven-consumer项目。
翻译日期 2017/08/13
如果您发现翻译错误的地方,麻烦指出来,谢谢!
遇到问题请搜索 我的代码温柔如风
希望能解决您的问题:)
技术交流:liukunup@163.com