你接近 - 測試屬性名爲LABELS
,而不是LABEL
。
有幾種設置標籤的方法;你選擇的一個(使用set_tests_properties
)有一個小問題。簽名是:
set_tests_properties(test1 [test2...] PROPERTIES prop1 value1 prop2 value2)
這意味着每個屬性只能應用一個值。所以,如果你想多個標籤這種方式適用於測試,你需要「欺騙」的CMake通過傳遞的標籤列表作爲單個字符串包含分號分隔的列表:
set_tests_properties(FirstTest PROPERTIES LABELS "TESTLABEL;UnitTest;FooModule")
或
set_property(TEST FirstTest PROPERTY LABELS TESTLABEL UnitTest FooModule)
:
set(Labels TESTLABEL UnitTest FooModule)
set_tests_properties(FirstTest PROPERTIES LABELS "${Labels}") # Quotes essential
在另一方面,你可以使用更普遍set_property
命令通過標籤的正確列表
或
set_property(TEST FirstTest PROPERTY LABELS ${Labels}) # No quotes needed
這個命令的輕微缺點是,你只能申請每次調用一個屬性。