Spec-Zone.ru › CMake 3.9

GoogleTest

Этот модуль определяет функции для работы со средой Google Test.

gtest_add_tests

Автоматически добавляет тесты с помощью CTest, сканируя исходный код на наличие макросов Google Test:

gtest_add_tests(TARGET target
                [SOURCES src1...]
                [EXTRA_ARGS arg1...]
                [WORKING_DIRECTORY dir]
                [TEST_PREFIX prefix]
                [TEST_SUFFIX suffix]
                [SKIP_DEPENDENCY]
                [TEST_LIST outVar]
)
TARGET target
Это должен быть известный целевой объект CMake. CMake заменит расположение исполняемого файла при запуске теста.
SOURCES src1...
Если указаны, будут отсканированы только перечисленные файлы в поисках тестовых случаев. Если этот параметр не задан, список исходных файлов будет взят из свойства SOURCES указанного target.
EXTRA_ARGS arg1...
Дополнительные аргументы, которые будут переданы каждой тестовой функции в командной строке.
WORKING_DIRECTORY dir
Указывает директорию, в которой будут запущены обнаруженные тестовые случаи. Если этот параметр не указан, используется текущая директория двоичных файлов.
TEST_PREFIX prefix
Разрешает добавить указанный prefix в начало имени каждого обнаруженного тестового случая. Это может быть полезно, когда одни и те же исходные файлы используются в нескольких вызовах gtest_add_test() с различными EXTRA_ARGS.
TEST_SUFFIX suffix
Аналогично TEST_PREFIX , но suffix добавляется в конец имени каждого обнаруженного тестового случая. Можно указать как TEST_PREFIX , так и TEST_SUFFIX.
SKIP_DEPENDENCY
Обычно функция создаёт зависимость, что приводит к повторному запуску CMake, если какие-либо из сканируемых исходных файлов изменены. Это гарантирует обновление списка обнаруженных тестов. Если такого поведения не требуется (например, при написании самих тестовых случаев), этот параметр можно использовать для предотвращения добавления зависимости.
TEST_LIST outVar
Переменная, имя которой указано в outVar , будет заполнена в области вызова списком обнаруженных тестовых случаев. Это позволяет вызывающей стороне выполнять действия, такие как манипулирование свойствами обнаруженных тестов.
include(GoogleTest)
add_executable(FooTest FooUnitTest.cxx)
gtest_add_tests(TARGET      FooTest
                TEST_SUFFIX .noArgs
                TEST_LIST   noArgsTests
)
gtest_add_tests(TARGET      FooTest
                EXTRA_ARGS  --someArg someValue
                TEST_SUFFIX .withArgs
                TEST_LIST   withArgsTests
)
set_tests_properties(${noArgsTests}   PROPERTIES TIMEOUT 10)
set_tests_properties(${withArgsTests} PROPERTIES TIMEOUT 20)

Для обратной совместимости поддерживается и следующий формат:

gtest_add_tests(exe args files...)
exe
Путь к исполняемому файлу теста или имя целевого объекта CMake.
args
Список дополнительных аргументов, которые будут переданы исполняемому файлу. Весь список должен быть передан как один аргумент. Заключите его в кавычки или передайте "" для отсутствия аргументов.
files...
Список файлов исходного кода для поиска тестов и тестовых фикстур. В качестве альтернативы используйте AUTO , чтобы указать, что exe является именем целевого объекта CMake, чьи исходные файлы нужно отсканировать.
include(GoogleTest)
set(FooTestArgs --foo 1 --bar 2)
add_executable(FooTest FooUnitTest.cxx)
gtest_add_tests(FooTest "${FooTestArgs}" AUTO)

© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.9/module/GoogleTest.html

Spec-Zone.ru

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