如何仅使用 Gradle 和 JUnit 5 运行特定测试?

Mic*_*fel 5 gradle junit5

使用 Gradle 及其 JUnit 4 支持,我可以使用如下--tests选项选择特定测试:

$ ./gradlew test --tests de.mp.BarMT
Run Code Online (Sandbox Code Playgroud)

此选项在使用 JUnit 5 Gradle 任务时无效。test从命令行使用任务时,它会被静默忽略。真正的工作是由junitPlatformTest反正完成的,它不支持该选项:

$ ./gradlew clean junitPlatformTest --tests de.mp.BarMT
…
Problem configuring task :junitPlatformTest from command line.
> Unknown command-line option '--tests'.
Run Code Online (Sandbox Code Playgroud)

JUnit 5 插件是否支持选择特定测试?

Mic*_*fel 3

回答我自己\xe2\x80\xa6 很多时间过去了,新版本来了,我可以确认使用Gradle 5.4.1和JUnit Jupiter Platform 1.4.2,简单的配置:

\n\n
test {\n    useJUnitPlatform()\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

将允许运行单个测试,如/sf/answers/2202823171/中所示,即使使用奇怪的名称(来自 Kotlin):

\n\n
gradle test --tests \'HtmlForwardInterceptorTest.should forward requests\'\n
Run Code Online (Sandbox Code Playgroud)\n