Репозиторий содержит учебный проект по созданию легковесного фреймворка для тестирования на языке C++. Разработка велась строго по методологии TDD (Test-Driven Development) на основе книги «Test-Driven Development with C++».
Основная цель проекта — глубокое понимание механики работы тестовых фреймворков (таких как Google Test или Catch2) и освоение цикла «Красный — Зеленый — Рефакторинг» на практике.
- Набор утверждений (confirmss): Базовые макросы для проверки условий (
CONFIRM,CONFIRM_EXи др.). - Изоляция тестов: Запуск каждого набора теста в чистом окружении.
- Отчеты о результатах: Вывод детальной статистики успешных и проваленных тестов в консоль.
- Язык программирования: C++20
- Система сборки: CMake
- Компилятор: GCC / Clang / MSVC
Test.h— основной код фреймворкаtests/— тесты, написанные для проверки работоспособности фреймворка.
Вот так выглядит написание теста с использованием созданного фреймворка:
#include "Test.h"
bool isNegative (int value)
{
return value < 0;
}
TEST("Test bool confirms")
{
bool result = isNegative(0);
CONFIRM_FALSE(result);
result = isNegative(-1);
CONFIRM_TRUE(result);
}
int main ()
{
MereTDD::runTests(std::cout);
return 0;
}- Написанию поддерживаемого и чистого C++ кода через постоянный рефакторинг.
- Этапам разработке по методолгии TDD
- Более широкому применению макросов