Repolode
catchorg

catchorg/Catch2

Фреймворк для модульного тестирования C++ с простыми проверками, макросами в стиле BDD и базовыми микробенчмарками.

Звёзды
21,534
Форки
3,437
Открытые issues
454
Последний коммит
17 дней назад

Что это?

Catch2 — фреймворк для модульного тестирования C++. Имена тестов могут быть произвольными строками, проверки записываются как обычные булевы выражения C++, а секции позволяют локально переиспользовать код настройки и очистки.

Помимо модульных тестов, Catch2 включает простые макросы BDD и базовые средства для микробенчмаркинга. Бенчмарки не запускаются по умолчанию: их нужно выбирать явно с помощью тега [!benchmark].

Ветка v3 на devel превращает Catch2 из библиотеки с одним заголовочным файлом в обычную библиотеку с несколькими заголовками и отдельно компилируемой реализацией. Ветка v2.x продолжает поддерживать C++11, а Catch1.x поддерживает C++03.

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

  • 01Имена тестов могут быть произвольными строками, а не только допустимыми идентификаторами.
  • 02Проверки записываются как обычные булевы выражения C++.
  • 03Секции позволяют локально переиспользовать код настройки и очистки в рамках тестового сценария.
  • 04Включает макросы BDD для тестирования в стиле разработки через поведение.
  • 05Предоставляет базовые средства для микробенчмаркинга, запускаемые с помощью тега [!benchmark].
  • 06Не имеет внешних зависимостей.

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

  • Написание модульных тестов для кодовой базы на C++ с минимальной настройкой.
  • Практика разработки через тестирование (TDD) в проектах на C++.
  • Добавление быстрых микробенчмарков к уже существующим тестам.
  • Структурирование спецификаций в стиле разработки через поведение с помощью макросов BDD.

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

  • В README указано, что документация всё ещё обновляется с учётом изменений в v3, поэтому некоторые документы могут отставать от кода.

В подборках

Темы

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

Что такое Catch2?
Фреймворк для модульного тестирования C++ с простыми проверками, макросами в стиле BDD и базовыми микробенчмарками. Catch2 — фреймворк для модульного тестирования C++. Имена тестов могут быть произвольными строками, проверки записываются как обычные булевы выражения C++, а секции позволяют локально переиспользовать код настройки и очистки.
Catch2 можно использовать бесплатно? Какая у него лицензия?
Catch2 распространяется с открытым исходным кодом под лицензией BSL-1.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
Catch2 всё ещё поддерживается?
Активно поддерживается. Последний коммит в Catch2 — 8 окт. 2026 г..
Для чего можно использовать Catch2?
Написание модульных тестов для кодовой базы на C++ с минимальной настройкой. Практика разработки через тестирование (TDD) в проектах на C++. Добавление быстрых микробенчмарков к уже существующим тестам. Структурирование спецификаций в стиле разработки через поведение с помощью макросов BDD.
Где скачать Catch2?
Исходный код и инструкции по установке — на GitHub: https://github.com/catchorg/Catch2

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

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