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–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.13/prop_test/FIXTURES_SETUP.html