FIXTURES_SETUP¶
3.7 版本中新增。
指定一个测试需要作为设置测试的 fixture 列表。这些 fixture 名称与测试用例名称不同,并且不要求与它们关联的测试名称有任何相似之处。
Fixture 设置测试是普通的测试,具有所有常规的测试功能。为测试设置 FIXTURES_SETUP
属性有两个主要效果:
CTest 将确保该测试在任何在其
FIXTURES_REQUIRED
属性中列出了该 fixture 名称的任何其他测试之前执行。如果 CTest 被要求只运行一部分测试(例如,使用正则表达式或
--rerun-failed
选项),并且该设置测试不在要运行的测试集中,如果该集合中的任何测试需要FIXTURES_SETUP
中列出的任何 fixture,它将被自动添加。
一个设置测试可以在其 FIXTURES_SETUP
属性中列出多个 fixture。它将只为整个 CTest 运行执行一次,而不是为每个 fixture 执行一次。一个 fixture 也可以定义多个设置测试。如果一个 fixture 有多个设置测试,项目可以通过通常的 DEPENDS
测试属性来控制它们的顺序(如果需要)。
设置测试可以要求其他 fixture,但不能要求在其 FIXTURES_SETUP
属性中列出的任何 fixture。例如:
# 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
)
如果 fixture 的任何设置测试失败,则不会运行在其 FIXTURES_REQUIRED
属性中列出该 fixture 的任何测试。然而,清理测试仍将执行。
有关如何使用测试 fixture 的更完整讨论,请参阅 FIXTURES_REQUIRED
。