Repolode
google

google/googletest

GoogleTest — фреймворк Google для тестирования и мокирования C++ с тестами в стиле xUnit, расширенными проверками и GoogleMock.

Звёзды
39,713
Форки
10,935
Открытые issues
552
Последний коммит
вчера

Что это?

GoogleTest — фреймворк Google для модульного тестирования на C++, построенный на архитектуре xUnit. Он позволяет разработчикам писать тестовые случаи, объединять их в наборы и запускать с автоматическим обнаружением, поэтому регистрировать тесты вручную не нужно. В репозитории также объединён ранее отдельный проект GoogleMock, предоставляющий средства для создания мок-объектов и изоляции тестируемого кода.

Фреймворк предлагает широкий набор проверок равенства, неравенства, исключений и других условий, а также поддержку пользовательских проверок. В него входят death tests, проверяющие, что код завершается определённым образом, обработка фатальных и нефинальных ошибок, а также тесты с параметрами-значениями и параметрами-типами. Запускать можно отдельные тесты, выполнять их в заданном порядке или параллельно.

GoogleTest следует политике Google Foundational C++ Support Policy в отношении компиляторов и платформ; для ветки 1.18.x требуется как минимум C++17. Его используют такие проекты, как Chromium, LLVM, Protocol Buffers и OpenCV, а результаты его работы также используют сторонние средства запуска тестов и адаптеры для IDE.

Ключевые возможности

  • 01Автоматическое обнаружение тестов — регистрировать их вручную не нужно.
  • 02Широкая библиотека проверок, включая проверки равенства, исключений и пользовательские проверки.
  • 03Death tests проверяют, как завершается код, что полезно при тестировании обработки ошибок.
  • 04Тесты с параметрами-значениями и параметрами-типами.
  • 05Обработка фатальных и нефинальных ошибок, а также возможность запускать тесты по отдельности, в заданном порядке или параллельно.
  • 06Включает GoogleMock для создания мок-объектов.

Сценарии использования

  • Написание модульных тестов для библиотеки или приложения на C++.
  • Изоляция тестируемого кода с помощью мокирования зависимостей через GoogleMock.
  • Тестирование обработки ошибок с помощью death tests.
  • Параллельный запуск больших наборов тестов C++ в CI.

Что важно знать

  • Для ветки 1.18.x требуется как минимум C++17.
  • В будущем планируется зависимость от Abseil.

В подборках

Темы

Частые вопросы

Что такое googletest?
GoogleTest — фреймворк Google для тестирования и мокирования C++ с тестами в стиле xUnit, расширенными проверками и GoogleMock. GoogleTest — фреймворк Google для модульного тестирования на C++, построенный на архитектуре xUnit. Он позволяет разработчикам писать тестовые случаи, объединять их в наборы и запускать с автоматическим обнаружением, поэтому регистрировать тесты вручную не нужно. В репозитории также объединён ранее отдельный проект GoogleMock, предоставляющий средства для создания мок-объектов и изоляции тестируемого кода.
googletest можно использовать бесплатно? Какая у него лицензия?
googletest распространяется с открытым исходным кодом под лицензией BSD-3-Clause. Перед использованием в коммерческих продуктах проверьте условия лицензии.
googletest всё ещё поддерживается?
Активно поддерживается. Последний коммит в googletest — 6 нояб. 2026 г..
Для чего можно использовать googletest?
Написание модульных тестов для библиотеки или приложения на C++. Изоляция тестируемого кода с помощью мокирования зависимостей через GoogleMock. Тестирование обработки ошибок с помощью death tests. Параллельный запуск больших наборов тестов C++ в CI.
Где скачать googletest?
Исходный код и инструкции по установке — на GitHub: https://github.com/google/googletest

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Фреймворк для тестирования Python: помогает писать небольшие тесты и подходит для сложного функционального тестирования приложений и библиотек.

14,7 тыс.+14 за неделю3,6 тыс.PythonMITАктивно поддерживаетсяОбновлён позавчера