![](/img/trans.png)
[英]"mvn test" 0 tests run - spring + cucumber + junit5
[英]Selecting a single test with Cucumber JUnit5 engine fails
考慮這個簡單的項目: https : //github.com/ekalin/cucumber-junit5-gradle 。 它包含一個 Cucumber 特性,使用 JUnit5。
按照https://github.com/cucumber/cucumber-jvm/tree/master/junit-platform-engine的說明,我創建了一個用@Cucumber
的類,以便可以發現測試。 當我運行./gradlew test
,該功能被發現並運行。
但是,如果我嘗試僅使用./gradlew test --tests cucumber.junit5.gradle.SampleSteps
(或其他選擇測試的方法)選擇該測試, ./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("cucumber")
到useJUnitPlatform
但它沒有任何區別。
是否有一些配置允許在使用不同引擎時選擇單個測試?
Gradle 尚不支持發現或過濾非基於類的測試(參見: gradle/#4773 )。 相反,Gradle 要求 JUnit 平台發現測試包中所有類中的測試。 @Cucumber
注釋是一種解決方法,用於發現帶注釋的類的包中的所有功能文件。
當您使用--tests cucumber.junit5.gradle.SampleSteps
時,您可以對所有測試結果應用基於類的過濾器。 因為@Cucumber
注釋類是一個解決方法,它不是已發現測試的一部分,並且因為功能文件沒有ClassSource
而是FileSource
gradle 會將它們全部排除。
您目前可以做的最好的事情是使用 gradle/#4773 中建議的解決方法。 您可能還希望 Gradle 團隊提供與 JUnit 平台的更好集成,以便可以使用其所有功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.