Spec-Zone.ru › CMake 3.9

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.9/prop_test/FIXTURES_SETUP.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API