FIXTURES_CLEANUP¶
在 3.7 版本加入.
指定要将测试视为清理测试的固定装置列表。这些夹具名称与测试用例名称不同,并且不需要与与其关联的测试名称有任何相似之处。
夹具清理测试是具有所有常用测试功能的普通测试。为测试设置 FIXTURES_CLEANUP 属性有两个主要影响:
CTest 将确保测试在所有其他测试之后执行,这些测试在其
FIXTURES_REQUIRED属性中列出了任何固定装置。如果要求 CTest 仅运行测试的一个子集(例如使用正则表达式或“--rerun-failed”选项)并且清理测试不在要运行的测试集中,它将自动添加(如果有)集合中的测试需要
FIXTURES_CLEANUP中列出的任何夹具。
清理测试可以在其“FIXTURES_CLEANUP”属性中列出多个固定装置。它将只对整个 CTest 运行执行一次,而不是对每个 fixture 执行一次。夹具也可以定义多个清理测试。如果一个夹具有多个清理测试,项目可以在必要时使用通常的 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
)
即使该夹具的设置或常规测试失败或被跳过,清理测试也会执行。
有关如何使用测试夹具的更完整讨论,请参见:prop_test:FIXTURES_REQUIRED。