簡體   English   中英

如何使用自定義注釋過濾 JUnit5 測試

[英]How to filter JUnit5 tests with custom annotation

我正在尋找一種有效針對 JUnit5 集成測試的方法。 測試使用 gradle 運行,所有集成測試類都由自定義 class 級別注釋修飾。 我可以根據它們的 class 名稱模式或使用標簽對它們進行分類來過濾它們,但是有沒有辦法設置一個針對帶有注釋的測試的測試套件?

假設您的自定義類級別注釋名為@IntegrationTest ,您有兩個選擇。

  1. 使用@IntegrationTest @Tag("integration-test")對 @IntegrationTest 進行元注釋,然后按構建中的integration-test標簽進行過濾。
  2. 實現您自己的ExecutionCondition ,它基於@IntegrationTest的存在以及您認為合適的任何其他標准(例如,環境變量或 JVM 系統屬性)啟用/禁用測試類。 作為編寫自己的ExecutionCondition的替代方法,您可以使用內置條件執行注釋之一(例如@EnabledIfSystemProperty@EnabledIfEnvironmentVariable等)對@IntegrationTest進行元注釋

你可以找到很多替代品

https://www.baeldung.com/junit-5-conditional-test-execution

例如你可以使用

@EnabledIfSystemProperty(named = "myProperty", matches = "my")

然后您可以在 gradle 中使用程序 arguments 或配置文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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