Java 使用5引擎选择单个测试失败

Java 使用5引擎选择单个测试失败,java,gradle,cucumber,junit5,cucumber-junit,Java,Gradle,Cucumber,Junit5,Cucumber Junit,考虑这个简单的项目:。它包含一个cumber特性,使用JUnit5 按照中的说明,我创建了一个使用@cumber命名的类,以便可以发现测试。当我运行/gradlew test时,就会发现并运行该功能 但是,如果我尝试使用/gradlew test--tests cucumber.junit5.gradle.SampleSteps(或使用其他方法选择测试)仅选择该测试,则会出现以下错误: Execution failed for task ':test'. > No tests found

考虑这个简单的项目:。它包含一个cumber特性,使用JUnit5

按照中的说明,我创建了一个使用
@cumber
命名的类,以便可以发现测试。当我运行
/gradlew test
时,就会发现并运行该功能

但是,如果我尝试使用
/gradlew test--tests cucumber.junit5.gradle.SampleSteps
(或使用其他方法选择测试)仅选择该测试,则会出现以下错误:

Execution failed for task ':test'.
> No tests found for given includes: [cucumber.junit5.gradle.SampleSteps](--tests filter)
我曾尝试将
includeEngines(“cumber”)
添加到
useJUnitPlatform
中,但没有任何区别


是否有一些配置允许在使用不同引擎时选择单个测试?

Gradle尚不支持发现或筛选非基于类的测试(请参阅:)。相反,Gradle要求JUnit平台发现测试包中所有类中的测试。
@cumber
注释是一种变通方法,用于发现注释类包中的所有要素文件

当您使用
--tests cucumber.junit5.gradle.SampleSteps
时,您将对所有测试结果应用基于类的过滤器。因为
@Cucumber
注释类是一个解决方案,它不是已发现测试的一部分,而且因为功能文件没有
类源,而是
文件源
gradle将它们全部排除


你目前能做的最好的事情就是使用gradle/#4773中建议的变通方法。您可能还想请求Gradle团队提供与JUnit平台更好的集成,以便可以使用其所有功能。

我想避免使用此解决方案,希望将来会有更好的解决方案。