c-cpp-cookies
  • Полезные материалы
    • About
  • Настройка окружения
    • Git
      • Git CLI
      • Git GUI
      • Git Web
      • Git в среде разработке
        • Visual Studio
        • Visual Studio Code
        • CLion
        • Qt Creator
    • Стандарты (они же ISO)
    • Qt about
    • IDE
      • Visual Studio Code
        • Код в Visual Studio Code
        • Разработка в Visual Studio Code
      • Visual Studio
        • Настройки Visual Studio и проектов
        • Код в Visual Studio
        • Visual Studio + GitHub
      • Qt + Qt Creator
        • Установка Qt и QtCreator
        • Примеры проектов на Qt
      • CLion
        • Настройки CLion
        • Код в CLion
        • CLion + GitHub
    • Компиляторы
      • Clang + Visual Studio
      • Clang + CLion
  • Best practices
    • Антипаттерны и способы улучшения кода
      • 0. Освобождение ресурсов
      • 1. Чтение данных из файла
      • 2. Открытие файлов
      • 3. Объявление переменных
      • 4. Выделение памяти
      • 5. Необдуманный код
      • 6. Глубокие if
      • 7. Длинные if
      • 9. Non-void функции
      • 10. Создание массивов
      • 11. Проверка формата файла
  • Сборка программы
    • Сборка программы
    • Системы сборки / Build systems
      • Проект и решение
      • Make
      • Ninja
      • CMake
      • MSBuild
    • Подключение внешних библиотек
    • Библиотеки
  • Отладка
    • Отладка / Debugging
    • Запуск программы
    • Точки останова / Breakpoints
      • Обычные точки останова / General breakpoint
      • Условные точки останова / Conditional breakpoint
      • Зависимые точки останова / Dependent breakpoint
      • Временные точки останова / Temporary breakpoint
      • Точки трассировки / Breakpoint actions и tracepoints
    • Стек вызовов / Call stack
    • Локальные переменные / Locals
    • Просмотр области памяти / Memory view
    • Исключения / Exceptions
  • Анализ
    • Поиск утечек памяти
    • Санитайзеры
  • Возможности IDE
    • Возможности IDE
    • Продвинутый текстовый редактор
    • Закладки / Bookmarks
    • Платформы / Platforms
    • Конфигурации сборки / Build configurations
    • Шаблонные проекты / Project templates
    • Терминал / Terminal
    • Сборка / Build
    • Запуск программы / Run program
    • Code style
    • Работа с Github Actions
  • Тестирование
    • Тестирование
    • Google test
      • Gtest в VS
      • Gtest в CLion
      • Gtest в VSCode
    • Покрытие кода (code coverage)
Powered by GitBook
On this page
  1. Тестирование
  2. Google test

Gtest в CLion

PreviousGtest в VSNextGtest в VSCode

Last updated 9 months ago

Подробная статья по настройке в CLion:


Простой способ подключения gtest к проекту в CLion (с оф. сайта JB:

  1. Склонировать официальный репозиторий.

  2. Собрать gtest из исходников.

  3. Подключить к своему проекту как .

После чего во вкладке Run появится список всех тестов и статус их прохождения:


Созданим новый инстанс vcpkg в проекте.

Затем можно попытаться собрать программу. В Build Message можно по подсказке Fix установить нужный пакет.

После установки пакета появится всплывающая подсказка:


Альтернатива 1: после установки vcpkg можно установить gtest из среды разработки (ситуация на скриншоте ниже появляется, если в проекте уже лежит CMakeLists.txt с инструкциями по подключению gtest в проект):


Альтернатива 2: установка пакета в разделе vcpkg. Интересующий пакет называется gtest.


После установки следует раширить описание в CMakeLists.txt и к дефолтному описанию:

cmake_minimum_required(VERSION 3.28)
project(GTestCLion)

set(CMAKE_CXX_STANDARD 26)

add_executable(GTestCLion main.cpp)

добавить:

cmake_minimum_required(VERSION 3.28)
project(GTestCLion)

set(CMAKE_CXX_STANDARD 26)

find_package(GTest CONFIG REQUIRED)

add_executable(GTestCLion main.cpp)

target_link_libraries(GTestCLion PRIVATE GTest::gtest GTest::gtest_main)

В результате сборка проходит успешно и при попытке запуска в разделе Run будет отображаться статистика по запускаемым тестам.

  1. После установки vcpkg нужно установить gtest из терминала:

vcpkg install gtest
  1. По итогам установки в консоль будет выведена подсказка по подключению пакета в CMake-проекты. Например:

enable_testing()

find_package(GTest CONFIG REQUIRED)

target_link_libraries(GTestCLion PRIVATE GTest::gtest GTest::gtest_main)

add_test(NAME all_tests COMMAND $<TARGET_FILE:GTestCLion>)

Что позволить просматривать результаты прохождения тестов (и затраченного на выполнение времени) в логах обозревателя тестов:

Альтернативный вариант: использовать пакетный менеджер vcpkg, который имеет с CLion.

Инструкция с оф. сайта:

Скачиваем файлы из официального репозитория:

интеграцию
установка + интеграция
https://github.com/microsoft/vcpkg
https://www.jetbrains.com/help/clion/creating-google-test-run-debug-configuration-for-test.html
стороннюю библиотеку