GoogleTest теперь следует философии Abseil Live at Head. Мы рекомендуем обновлять последнюю версию коммита в main
ветке как можно чаще. Время от времени мы публикуем семантические версии с тегами v${major}.${minor}.${patch}
(например, v1.15.2
).
Наша документация теперь доступна на страницах GitHub по адресу https://google.github.io/googletest/. Мы рекомендуем просматривать документацию на страницах GitHub, а не непосредственно в репозитории.
Выпуск 1.15.2 уже доступен.
Для ветки 1.15.x требуется как минимум C++14.
Мы используем внутренние системы Google для непрерывной интеграции.
Мы планируем взять в зависимость от Abseil.
Этот репозиторий представляет собой объединение ранее отдельных проектов GoogleTest и GoogleMock. Они были настолько тесно связаны, что имеет смысл поддерживать и выпускать их вместе.
Дополнительную информацию см. в Руководстве пользователя GoogleTest. Мы рекомендуем начать с GoogleTest Primer.
Дополнительную информацию о создании GoogleTest можно найти по адресу googletest/README.md.
Платформа тестирования xUnit:
Googletest основан на платформе тестирования xUnit, популярной архитектуре для модульного тестирования.
Тестовое открытие:
Googletest автоматически обнаруживает и запускает ваши тесты, устраняя необходимость вручную регистрировать тесты.
Богатый набор утверждений:
Googletest предоставляет различные утверждения, такие как равенство, неравенство, исключения и т. д., что упрощает тестирование вашего кода.
Пользовательские утверждения:
Вы можете определить свои собственные утверждения с помощью Googletest, что упрощает написание тестов, специфичных для вашего кода.
Смертельные испытания:
Googletest поддерживает тесты на смерть, которые проверяют, что ваш код завершается определенным образом, что делает его полезным для тестирования кода обработки ошибок.
Фатальные и нефатальные сбои:
С помощью Googletest вы можете указать, следует ли считать сбой теста фатальным или нефатальным, что позволит тестам продолжать работу даже в случае возникновения сбоя.
Тесты, параметризованные по значению:
Googletest поддерживает тесты с параметрами значений, которые выполняются несколько раз с разными входными значениями, что делает его полезным для тестирования функций, которые принимают разные входные данные.
Типопараметрические испытания:
Googletest также поддерживает тесты с параметрами типа, которые выполняются с разными типами данных, что делает его полезным для тестирования функций, работающих с разными типами данных.
Различные варианты запуска тестов:
Googletest предоставляет множество вариантов запуска тестов, включая запуск отдельных тестов, запуск тестов в определенном порядке и параллельный запуск тестов.
GoogleTest следует основной политике поддержки Google C++. В этой таблице приведен список поддерживаемых в настоящее время версий компиляторов, платформ и инструментов сборки.
Помимо многих внутренних проектов Google, GoogleTest также используется в следующих известных проектах:
Проекты Chromium (основанные на браузере Chrome и Chrome OS).
Компилятор LLVM.
Протокол Buffers, формат обмена данными Google.
Библиотека компьютерного зрения OpenCV.
GTest Runner — это автоматизированный инструмент для запуска тестов на базе Qt5 и графический интерфейс пользователя с мощными функциями для платформ Windows и Linux.
GoogleTest UI — это средство запуска тестов, которое запускает ваш тестовый двоичный файл, позволяет отслеживать его ход с помощью индикатора выполнения и отображает список неудачных тестов. При нажатии на один из них отображается текст ошибки. Пользовательский интерфейс GoogleTest написан на C#.
GTest TAP Listener — это прослушиватель событий GoogleTest, который реализует протокол TAP для вывода результатов теста. Если ваш специалист по тестированию понимает TAP, он может оказаться вам полезным.
gtest-parallel — это средство запуска тестов, которое параллельно запускает тесты из вашего двоичного файла, что обеспечивает значительное ускорение.
GoogleTest Adaptor — это расширение VS Code, позволяющее просматривать GoogleTest в виде дерева и запускать/отлаживать тесты.
C++ TestMate — это расширение VS Code, позволяющее просматривать GoogleTest в виде дерева и запускать/отлаживать тесты.
Cornichon — небольшой анализатор DSL Gherkin, генерирующий код-заглушку для GoogleTest.
Пожалуйста, прочтите CONTRIBUTING.md
, чтобы узнать, как внести свой вклад в этот проект.
Приятного тестирования!