近期, JUnit 5 以 EPL-2.0 许可的方式发布。根据用户指南,JUnit 5 的主要目标之一,就是使 JUnit 更易于做进一步的提高和改进。
大量在 JUnit 4 中最初作为内部构建而添加的接口,已被那些编写外部扩展(Extension)和构建工具的编码人员所使用。这使得改进 JUnit 4 尤为困难,时常是无法实现的。
为解决该问题,JUnit 5 中引入了一种用于所有公开接口、类和方法的预定生命周期。
JUnit 由三个子项目组成,分别是 JUnit Platform、JUnit Jupiter 和 Junit Vintage。
JUnit Platform 定义了开发测试框架的 TestEngine
API,它是加载测试框架的基础。
JUnit Jupiter 由新的编程模型和扩展(Extension)模型组成,用于编写JUnit 5 中的测试和扩展。
JUnit Vintage 提供了运行 JUnit 3 和 JUnit 4 测试所用的TestEngine
。
根据用户指南,在JUnit 5 中引入了一种称为“ Launcher
”的概念。Launcher 用于发现、过滤和执行测试。第三方软件库可以提供定制的 TestEngine
方式,以插件形式加入 JUnit Platform 的 Launcher 架构中。
JUnit 5 在运行时需要Java 8 及以上版本。
查看英文原文: JUnit 5 Released
评论