FIXTURES_SETUP¶
版本 3.7 中添加。
指定测试将被视为设置测试的装置列表。这些装置名称不同于测试用例名称,也不必与与其关联的测试的名称有任何相似之处。
装置设置测试是具有所有通常测试功能的常规测试。为测试设置 FIXTURES_SETUP
属性主要有两个作用
CTest 会确保在任何其他在其
FIXTURES_REQUIRED
属性中列出装置名称的测试之前执行该测试。如果 CTest 只运行一部分测试(例如使用正则表达式或
--rerun-failed
选项),并且设置测试不在要运行的测试集中,则当集中任何测试需要FIXTURES_SETUP
中列出的任何装置时,它将自动添加到该集中。
一个设置测试可以在其 FIXTURES_SETUP
属性中列出多个装置。它只会针对整个 CTest 运行执行一次,而不是针对每个装置执行一次。一个装置也可以定义多个设置测试。如果有针对一个装置的多个设置测试,项目可以使用通常的 DEPENDS
测试属性(如果有必要)控制它们的顺序。
设置测试允许要求其他装置,但不允许要求其 FIXTURES_SETUP
属性中列出的任何装置。例如
# Ok: dependent fixture is different to setup
set_tests_properties(setupFoo PROPERTIES
FIXTURES_SETUP Foo
FIXTURES_REQUIRED Bar
)
# Error: cannot require same fixture as setup
set_tests_properties(setupFoo PROPERTIES
FIXTURES_SETUP Foo
FIXTURES_REQUIRED Foo
)
如果某个装置的任何设置测试失败,则没有任何测试在其 FIXTURES_REQUIRED
属性中列出该装置,不会运行该测试。但是,清理测试仍将执行。
请参阅 FIXTURES_REQUIRED
,以更全面地讨论如何使用测试装置。