Популярный фреймворк для тестирования JavaScript в Node.js и браузере с поддержкой структуры describe/it и асинхронных тестов.
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 обновляется ежедневно.
Похожие проекты
Фреймворк для тестирования Python: помогает писать небольшие тесты и подходит для сложного функционального тестирования приложений и библиотек.
Jest — фреймворк для тестирования JavaScript со встроенными проверками, моками, snapshot-тестированием и интерактивным watch mode.
Набор инструментов для тестирования Go: assertions, моки и структура suite, совместимая со стандартным запускателем go test.
AVA — параллельный тестовый раннер для Node.js с лаконичным API, подробным выводом ошибок и изоляцией каждого файла.
PHPUnit — ориентированный на разработчиков фреймворк для модульного тестирования PHP-кода, построенный на архитектуре xUnit.