如何在Gradle Kotlin DSL中使用原生JUnit 5支持(解决弃用警告)
在Gradle Kotlin DSL中启用JUnit 5原生支持
那个警告说得很明白——旧的JUnit Platform Gradle插件已经被废弃,Gradle从4.6版本开始就自带了JUnit 5的原生支持,咱们直接用官方推荐的原生方式就行,不用再依赖那个老插件了。下面是具体的配置步骤:
第一步:移除废弃的插件(如果之前用了的话)
如果你之前的项目里引入了org.junit.platform.gradle.plugin,先把它从plugins块里删掉,比如原来的代码可能是这样的:
plugins { id("org.junit.platform.gradle.plugin") version "1.2.0" }
直接把这一行移除即可。
第二步:配置Test任务使用JUnit Platform
在你的build.gradle.kts里找到(或者添加)test任务的配置,用useJUnitPlatform()方法启用原生支持,代码示例如下:
tasks.test { useJUnitPlatform() // 可选:添加测试日志配置,方便查看测试结果 testLogging { events("passed", "skipped", "failed") showStandardStreams = true } }
第三步:添加JUnit 5依赖
你需要添加JUnit Jupiter的API和引擎依赖,这样Gradle才能编译和运行你的JUnit 5测试。在dependencies块里补充:
dependencies { // JUnit 5 API,用于编写测试用例 testImplementation("org.junit.jupiter:junit-jupiter-api:5.9.2") // JUnit 5 测试运行引擎 testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.9.2") // 可选:如果需要参数化测试,添加这个依赖 testImplementation("org.junit.jupiter:junit-jupiter-params:5.9.2") }
版本号可以换成你需要的最新稳定版,建议保持API、引擎、参数化依赖的版本一致。
完整示例配置
把上面的部分整合起来,一个基础的build.gradle.kts大概是这样的:
plugins { java // 如果是Kotlin项目,换成kotlin("jvm")版本 } repositories { mavenCentral() } dependencies { testImplementation("org.junit.jupiter:junit-jupiter-api:5.9.2") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.9.2") } tasks.test { useJUnitPlatform() testLogging { events("passed", "skipped", "failed") } }
多模块项目额外提示
如果是多模块项目,你可以在根目录的build.gradle.kts里用subprojects块统一配置,避免每个子模块重复写:
subprojects { apply(plugin = "java") repositories { mavenCentral() } dependencies { testImplementation("org.junit.jupiter:junit-jupiter-api:5.9.2") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.9.2") } tasks.test { useJUnitPlatform() } }
配置完成后,运行./gradlew test就能正常执行JUnit 5测试,那个废弃插件的警告也会消失。
内容的提问来源于stack exchange,提问作者PHPirate
相关产品推荐
相关产品推荐

