簡體   English   中英

使用 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM