FIXTURES_CLEANUP¶
在 3.7 版本中新增。
指定一個夾具列表,該測試將被視為清理測試。這些夾具名稱與測試案例名稱不同,並且不要求與其相關聯的測試名稱有任何相似之處。
夾具清理測試是具有所有常用測試功能的普通測試。為測試設定 FIXTURES_CLEANUP
屬性有兩個主要影響
CTest 將確保測試在所有其他測試之後執行,這些測試在其
FIXTURES_REQUIRED
屬性中列出了任何夾具。如果要求 CTest 僅執行測試的子集(例如,使用正規表示式或
--rerun-failed
選項),並且清理測試不在要執行的測試集中,如果該集合中的任何測試需要FIXTURES_CLEANUP
中列出的任何夾具,則會自動新增該清理測試。
一個清理測試可以在其 FIXTURES_CLEANUP
屬性中列出多個夾具。它將在整個 CTest 執行過程中僅執行一次,而不是每個夾具執行一次。一個夾具也可以定義多個清理測試。如果一個夾具有多個清理測試,專案可以使用常用的 DEPENDS
測試屬性來控制它們的順序(如果需要)。
清理測試可以要求其他夾具,但不能要求其 FIXTURES_CLEANUP
屬性中列出的任何夾具。例如
# Ok: Dependent fixture is different to cleanup
set_tests_properties(cleanupFoo PROPERTIES
FIXTURES_CLEANUP Foo
FIXTURES_REQUIRED Bar
)
# Error: cannot require same fixture as cleanup
set_tests_properties(cleanupFoo PROPERTIES
FIXTURES_CLEANUP Foo
FIXTURES_REQUIRED Foo
)
即使該夾具的設定或常規測試失敗或被跳過,清理測試也會執行。
請參閱 FIXTURES_REQUIRED
以更完整地討論如何使用測試夾具。