簡體   English   中英

如何將參數添加到 Catch2 中的部分名稱

[英]How to add parameters to section names in Catch2

我正在使用Catch2為一些 C++ 遺留代碼創建一組測試,並且我有一個函數,我想測試大量的值。 我發現我可以使用GENERATE關鍵字創建一個數據生成器變量,該變量將為每個生成的值重復以下場景,但我唯一的問題是,當我啟動測試時,我無法區分每個值的執行情況.

因此,對於一個最小的示例,例如:

TEST_CASE("Evaluate output of is_odd() function") {
    auto i = GENERATE(1, 3, 5);
    SECTION("Check if i is odd"){ // <-- I want to fit the actual value of i in here.
        REQUIRE(is_odd(i));
    }
}

因此,如果我啟動測試並指定-s以查看通過的測試,我希望看到類似的內容:

-------------------------------------------
Evaluate output of is_odd() function
  Check if 1 is odd
-------------------------------------------
...
-------------------------------------------
Evaluate output of is_odd() function
  Check if 3 is odd
-------------------------------------------
...
-------------------------------------------
Evaluate output of is_odd() function
  Check if 5 is odd
-------------------------------------------

我嘗試創建一個包含i的字符串並將其連接到SECTION的名稱,但它沒有用,有什么方法可以實現嗎?

這是可能的,但從文檔中看不是很明顯。 您正在尋找的是一個動態部分

TEST_CASE("Evaluate output of is_odd() function") {
    auto i = GENERATE(1, 3, 5);
    DYNAMIC_SECTION("Check if " << i << " is odd"){ 
        REQUIRE(is_odd(i));
    }
}

暫無
暫無

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

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