Spec-Zone.ru › CMake 3.19

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

Spec-Zone.ru

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