FIXTURES_SETUP
Указывает список фикстур, для которых тест должен обрабатываться как тестовый фикстурный набор. Эти имена фикстур отличаются от имён тестовых случаев и не должны иметь сходства с именами тестов, связанных с ними.
Тесты на настройку фикстур — обычные тесты со всеми обычными тестовыми функциями. Установка свойства 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–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.15/prop_test/FIXTURES_SETUP.html