CLion позволяет легко выполнять юнит-тестирование благодаря интеграции с фреймворками Google Test, Catch, Boost.Test и Doctest.
Запустить тест в CLion можно просто с помощью запуска обычного исполняемого файла. Однако, чтобы увидеть результаты в специальном встроенном окне, используйте конфигурацию Google Test, Boost.Test, Catch или Doctest.
Если таргет CMake связан с gtest или gmock, конфигурация создается автоматически. Вы можете запустить один тест, тестовый класс (fixture) или целый файл, нажав ⌃⇧R. Кроме того, создавать и обновлять такие конфигурации можно вручную в настройках Run | Edit Configurations...
:
Чтобы быстрее настроить набор тестов, которые надо запускать в рамках конфигурации Catch, используйте автодополнение для тегов, которые используются в тестах:
Поддерживая методику разработки через тестирование, CLion предоставляет удобный инструмент запуска тестов. В специальном окне вы увидите:
Кроме того, он позволяет:
Значки в левом поле редактора служат для быстрого запуска/отладки тестов и позволяют запускать их с Valgrind Memcheck, а также сообщают о статусе теста — пройден он или нет.
Функция генерации кода может быть очень полезна при написании модульных тестов (работает для Google Test). По нажатию Alt+Insert CLion предлагает сгенерировать тест, тестовый класс (fixture) или пару методов SetUp/TearDown.
При генерации тестового метода макрос TEST() автоматически заменяется на более подходящий: TEST_F()
, TEST_P()
, TYPED_TEST()
или TYPED_TEST_P()
.
CLion поддерживает CTest — инструмент запуска тестов, идущий в комплекте с проектной моделью CMake. IDE обнаруживает список тестов, запускаемых с помощью CTest, и автоматически создает для них конфигурации запуска/отладки. Результаты тестов отображаются в специальном окне, из которого можно начать отладку, отдельно перезапустить неудачные тесты и т. д.