1.概述

在本教程中,我们将使用Gradle构建工具在新JUnit 5平台上运行测试。

我们将配置一个同时支持旧版本和新版本的项目。

随便阅读Junit 5指南有关新版本的更多信息。金宝搏官网188be或者Gradle概论有关构建工具的深入信息。金宝搏官网188be

2. Gradle Setup.

首先,我们验证是否安装了4.6或更高版本的构建工具,因为这是与JUnit 5一起工作的最早版本。

最简单的方式是刚刚运行Gradle -V.命令:

$ > gradle - v  ------------------------------------------------------------ Gradle 4.10.2  ------------------------------------------------------------

并且,如有必要,我们可以遵循安装获得正确版本的步骤。

一旦我们安装了所有内容,我们需要通过使用“来配置Gradlebuild.gradle.文件。

我们可以通过向构建工具提供单元测试平台来开始:

test {useJUnitPlatform()}

现在我们已经指定了平台,我们需要提供JUnit依赖项。这就是我们在JUnit 5和早期版本之间看到的显著区别。

有了早期版本,我们只需要一个依赖性。但是,在JUnit 5中,API与运行时分开,意为两个依赖项分开。

API表现为JUNIT-JUPITER-API。运行时是JUNIT-JUPITER-ENGINE对于junit 5,和JUNIT-VITEL-ENGINE对于JUnit 3或4。

我们将提供这两个人测试抄本timeruntimeonly, 分别:

依赖关系{testimplingation'org.junit.jupiter:junit-jupiter-api:5.3.1' testruntimeonly'org.junit.jupiter:JUnit-Jupiter-Engine:5.3.1'}

3.创建测试

让我们写第一次测试。它看起来就像早期的版本:

@Test public void testadd(){assertequals(42,Integer.sum(19,23));}

现在,我们可以通过执行来运行测试Gradle清洁测试命令

要验证我们使用JUnit 5,我们可以查看进口。进口@测试assertequals.应该有一个包装开始org.junit.jupiter.api:

导入org.junit.jupiter.api.test;导入静态org.junit.jupiter.api.assertions.assertequals;

因此,在最后一个示例中,我们创建了一个与多年工作的“旧”功能的测试。我们现在将创建另一个例子,该示例使用JUnit 5中的一些新功能:

@Test public void testDivide() {assertThrows(arithmetionexception .class,() ->{整数。divideUnsigned(42岁,0);});}

assertThrows是junit5的新断言,取代了旧风格@Test(预期= arithmeticexception.class)。

4.使用Gradle配置JUnit 5测试

接下来,我们将探讨Gradle和Junit5之间的一些更深层次的整合。

让我们说我们在我们的套件中有两种类型的测试:长时间运行和短跑。我们可以使用JUnit 5@标签注解:

公共类CalculatorJunit5Test {@tag(“慢速”)@test public void testaddmaxinteger(){assertequals(2147483646,Integer.sum(2147183646,300000));@tag(“快”)@test public void testdivide(){assertthrows(arithmeticexception.class,() - > {integer.divideunsigned(42,0);});}}

然后,我们告诉构建工具要执行哪些工具。在我们的情况下,让我们只执行短跑(快速)测试:

测试{USEDJUNITPLATFORM {INCLUDETAGS'FAST'ENTURUDETAGS'慢速'}}

5.支持旧版本的支持

现在,它仍然可以使用新的木星引擎创建JUnit 3和4测试。甚至更多,我们可以将它们与同一项目中的新版本混合在迁移方案中。

首先,我们向现有的构建配置添加一些依赖项:

TestCompileonly'Junit:JUNIT:4.12'TESTRUTIMEONLY'ORG.JUNIT.VINTIGE:JUNIT-VINES-ENGINE:5.3.1'

注意我们的项目现在是如何拥有的JUNIT-JUPITER-ENGINE以及JUnit-Vintage-Engine。

现在我们创建一个新的课程并复制粘贴testdivide.我们之前创建的方法。然后,我们添加导入@测试assertequals.。但是,这次我们确保使用旧版本4包开始org.junit:

导入静态org.junit.assert.asterequals;导入org.junit.test;公共类CalculatorJunit4test {@test public void testadd(){assertequals(42,Integer.sum(19,23));}}

六,结论

在本教程中,我们与JUnit 5融入了GruneLe。甚至更多,我们还增加了对版本3和4的支持。

我们已经看到构建工具为旧版本提供了出色的支持。因此,我们可以在现有项目中使用新功能,而无需更改所有现有测试。

完整的代码示例可用GitHub项目。随意使用它作为您自己项目的起点。

通用底部

使用Spring 5和Spring Boot 2开始,通过学习春天课程:

>>查看课程
对这篇文章的评论关闭!