我正在使用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' 的名稱,但它沒有作業,有什么方法可以實作這一點嗎?
uj5u.com熱心網友回復:
這是可能的,但從檔案中看不是很明顯。您正在尋找的是一個動態部分:
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));
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/488712.html
下一篇:起訂量設定方法在回呼時失敗
