本文翻译自JUnit 5 Gradle Example

JUnit 5 Maven

在本教程中,我们将学习在基于Gradle编写JUnit 5测试时如何获取相关的依赖,以及如何配置 JUnit Gradle插件来运行相关测试。

本文是JUnit 5 教程的一部分。

相关依赖

若要能够编写JUnit 5测试需要在build.gradle中添加junit-jupiter作为依赖项:

1
2
3
dependencies {
    testImplementation("org.junit.jupiter:junit-jupiter:5.8.0")
}

之后配置让相关测试使用JUnit平台:

1
2
3
test {
    useJUnitPlatform()
}

至此我们已经有了使用Gradle编写和运行JUnit 5测试的最基本配置。

旧版本配置

JUnit Jupiter 5.4.0开始有一个聚合器组件junit-jupiter它可以传递对junit-jupiter-apijunit-jupiter-paramsjunit-jupiter-engine的依赖以简化依赖关系管理,这意味着我们不需要额外的依赖项就能够编写参数化测试。

为了能够使用旧版本编写JUnit 5测试,需要junit-jupiter-api组件作为依赖项,同时需要在运行时类路径下添加JUnit Jupiter测试引擎:

1
2
3
4
dependencies {
    testImplementation("org.junit.jupiter:junit-jupiter-api:5.3.2")
    testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.3.2")    
}

Gradle 4.6开始,提供了对JUnit Jupiter的原生支持,而在使用Gradle 4.5或更早版本时,为了能够运行JUnit 5测试则必须配置JUnit Gradle插件:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'org.junit.platform:junit-platform-gradle-plugin:1.3.2'
    }
}

apply plugin: 'org.junit.platform.gradle.plugin'

至此我们已经有了使用旧版本的Gradle运行JUnit 5测试的基本配置。

运行测试

JUnit Gradle插件默认情况下在src/test/java目录下查找测试用例。

可通过添加一个空测试来检查我们的配置是否生效。

1
2
3
4
5
6
7
class GradleExampleTest {

    @Test
    void shouldRun() {

    }
}

在命令行中运行相关测试:

1
gradle test

我们应该能看到类似如下输出:

1
2
:test
BUILD SUCCESSFUL in 2s

好了, JUnit Gradle插件现在可正常运行我们的测试。

总结

在这个JUnit 5 Gradle教程中,我们学习了如何添加编写JUnit 5测试所需的依赖项以及如何配置JUnit Gradle插件以便能够运行测试。

本文的示例代码能在GitHub中找到。