我们今天刚刚发布了 1.9.11和1.10.3版本的Ant。 这些下载位于Ant项目的下载页面上 。 这两个版本主要是错误修复版本,尤其是1.9.11版本。 由于几个原因,1.10.3版本是重要的版本。 先前的1.10.2版本无意中引入了许多更改,这些更改导致Ant任务中各个位置的回归。 这些已在此新的1.10.3版本中恢复或修复。
除了这些修复程序之外,此1.10.3版本的Ant还引入了一个新的junitlauncher任务。 不久前,JUnit团队发布了JUnit 5.x版本 。 这个版本与以前的JUnit 3.x和4.x版本相比是一个重大变化,无论是在编写测试的方式还是在执行测试的方式方面。 JUnit 5引入了测试启动与测试标识与执行之间的分离。 这意味着,对于诸如Ant之类的构建工具,JUnit 5现在提供了一个清晰的API,该API仅用于处理如何启动测试。 想象一下“针对此目录中的类启动测试执行”的思路。 尽管Ant的junit任务已经支持这种构造,但是我们用来启动这些测试的方式非常特定于Ant自己的实现,并且变得越来越复杂。 通过在JUnit 5库中引入此新API,现在启动这些测试变得更加容易和一致。
JUnit 5进一步介绍了测试引擎的概念。 测试引擎负责“标识”哪些类实际上是测试,以及哪些语义应用于这些测试。 默认情况下,JUnit 5带有一个用于识别和运行JUnit 4.x样式测试的“老式”引擎,以及一个用于识别和运行基于JUnit 5.x API的测试的“木星”引擎。
Ant中的“ junitlauncher”任务引入了一种方法,使构建可以指定选择哪些类来进行测试启动。 该任务的目标是仅启动测试执行,并让JUnit 5框架识别并运行测试。 Ant 1.10.3中提供的当前实现是此任务的基本最低要求。 我们计划随着我们的发展以及获得反馈而添加更多功能。 特别是,此新任务当前不支持在单独的派生JVM中执行这些任务,但是我们确实计划在后续版本中添加这些任务。
从很久以前就已经在Ant中交付的junit任务将继续存在,并且可以用于执行JUnit 3.x或JUnit 4.x测试。 但是,对于JUnit 5支持,Ant将支持junitlauncher任务。
有关此新任务的更多详细信息,请参见junitlauncher的任务手册 。 请尝试一下,并将任何错误或反馈报告给我们的用户邮件列表 。
翻译自: https://www.javacodegeeks.com/2018/03/ant-1-10-3-released-with-junit-5-support.html