Интеграция платформы модульного тестирования C ++ Catch с CMake

Я разрабатываю свое приложение с использованием Visual Studio 2015.

У меня есть 6 проектов, в решении которых 5 библиотек и один исполняемый файл.

Исполняемый проект содержит мои тестовые файлы, и я использую Catch framework для тестирования. Так что у меня будет 5 cppфайлы в исполняемом проекте. Как я могу запустить каждый тест по одному, используя CMake?

add_test функция CMake принимает имя исполняемого файла в качестве команды и запускает все тесты одновременно. Мне нужно запустить каждый тест в отдельности.

0

Решение

Вы можете добавить несколько add_test вызовы с правильными параметрами командной строки.

В улове вы можете запустить определенный тест, добавив имя в двоичный файл.

tester <testName>

Таким образом, вы можете добавить их в качестве аргументов для add_test вызов:

add_test(NAME mytest1 COMMAND tester test1 <...> )
add_test(NAME mytest2 COMMAND tester test2 <...> )
...

Затем вы можете выполнить один конкретный тест с

ctest -R mytest1

Это только рунтс mytest1, -R также принимает регулярное выражение, если вы хотите запустить несколько тестов.

0

Другие решения

Других решений пока нет …