如何使用 Gradle 和 JUnit 5 仅运行特定测试?
Posted
技术标签:
【中文标题】如何使用 Gradle 和 JUnit 5 仅运行特定测试?【英文标题】:How to run only specific tests with Gradle and JUnit 5? 【发布时间】:2018-07-20 08:41:15 【问题描述】:使用 Gradle 及其对 JUnit 4 的支持,我可以使用 --tests
选项选择特定测试,如下所示:
$ ./gradlew test --tests de.mp.BarMT
此选项在使用 JUnit 5 Gradle 任务时无效。从命令行使用 test
任务时,它会被静默忽略。反正真正的工作是junitPlatformTest
做的,不支持选项:
$ ./gradlew clean junitPlatformTest --tests de.mp.BarMT
…
Problem configuring task :junitPlatformTest from command line.
> Unknown command-line option '--tests'.
JUnit 5 插件是否支持选择特定测试?
【问题讨论】:
相关... ***.com/questions/45508263/…? 确实如此。我会说几乎是重复的(我保证我有真正的测试)。奇怪的是,它在创建问题时没有出现在搜索中。 原生 Gradle 支持即将到来。目前的计划是将其包含在 Gradle 4.6 中(参见github.com/gradle/gradle/pull/4116) 【参考方案1】:回答自己... 很多时间过去了,新版本来了,我可以用 Gradle 5.4.1 和 JUnit Jupiter Platform 1.4.2 确认,简单的配置:
test
useJUnitPlatform()
将允许运行 https://***.com/a/31468902/2621917 中所见的单个测试,即使使用奇怪的名称(来自 Kotlin):
gradle test --tests 'htmlForwardInterceptorTest.should forward requests'
【讨论】:
以上是关于如何使用 Gradle 和 JUnit 5 仅运行特定测试?的主要内容,如果未能解决你的问题,请参考以下文章
运行 Gradle JUnit 测试时出现“地址已在使用:绑定”异常
Gradle 没有找到我使用 Kotlin 和 JUnit 5 进行的测试
如何在多模块项目中使用 JUnit5 和 SpringBoot2 通过 gradle 而不是 intelliJ 运行测试