Gtest в VS
Last updated
Last updated
Подробная статья по настройке в Visual Studio: https://learn.microsoft.com/ru-ru/visualstudio/test/how-to-use-google-test-for-cpp?view=vs-2022
Для создания проектов с автоматической настройкой gtest необходимо поставить через Visual Studio Installer в компоненте рабочей нагрузки "Разработка классических приложений на C++" "Test Adapter for Google Test".
После чего при создании проекта появятся дополнительный шаблон "Google Test".
Проект можно как создать в качестве единственного в решении (Solution), так и включать в уже существующее решение для тестирования разрабатываемого проекта.
При создании проекта Google Test можно выбрать тип библиотеки, которая будет генерироваться этим проектом.
После создания проекта в "Сервис - Параметры - Адаптер тестов для Google Test" можно установить дополнительные опции для запуска и сканирования тестов.
Например, в Additional test execution parameters
можно установить фильтры тестов или другие параметры для gtest
.
В CPP-файле теста необходимо добавить необходимые директивы #include
, чтобы типы и функции программы были доступны коду теста. Как правило, программа находится в иерархии папок на один уровень выше. Поэтому если ввести #include "../"
, то по дальнейшим подсказкам GUI можно без проблем задать относительный путь до ваших заголовочных файлов.
После настройки проектов в случае, если в функции main()
используется ::testing::InitGoogleTest(&argc, argv);
, можно запустить программу как обычно (CTRL + F5 или запуск с GUI) и в консоли увидеть результаты тестирования:
С помощью обозревателя тестов можно запускать модульные тесты из Visual Studio или сторонних проектов модульного тестирования.
Кроме того, обозреватель тестов позволяет группировать тесты по категориям, фильтровать список тестов, а также создавать, сохранять и запускать списки воспроизведения тестов.
При выполнении, написании и повторном запуске тестов обозреватель тестов отображает результаты в группах Неудачные тесты, Пройденные тесты, Пропущенные тесты и Не запущенные тесты. В области сведений в нижней или боковой части окна обозревателя тестов отображается сводка тестового запуска.
В области сведений о тесте отображаются следующие сведения.
Имя исходного файла и номер строки метода теста.
Состояние теста.
Время, затраченное на выполнение метода теста.
Если тест не пройден, в области сведений также отображается следующее:
сообщение, возвращенное платформой модульного тестирования для теста;
трассировка стека во время сбоя теста.
При каждом запуске проводится сканирование тестов, и в случае обнаружения новых тестов, они отображаются в обозревателе тестов.
При запуске, записи и повторном запуске тестов результаты в обозревателе тестов отображаются в стандартных группах Проект, Пространство имен и Класс. Есть возможность изменить способ группировки тестов обозревателем тестов по нажатию ПКМ по заголовку списка тестов.
Большую часть работы по поиску, организации и выполнению тестов можно выполнять из панели инструментов обозревателя тестов.
Run all
(или CTRL + R, V
) пересобирает все проекты в решении, после чего запускает все тесты
Чтобы выполнить все тесты в группе по умолчанию, выберите значок Run selected tests
, а затем группу в меню.
Чтобы запустить модульные тесты после каждой локальной сборки, на панели инструментов обозревателя тестов щелкните значок "Параметры" и выберите в меню пункт Выполнить тесты после сборки.