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 для более подробного обсуждения того, как использовать фикстуры тестов.
© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.31/prop_test/FIXTURES_SETUP.html