[英]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.