Skip to content

Latest commit

 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

UnitTestFramework

Репозиторий содержит учебный проект по созданию легковесного фреймворка для тестирования на языке 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
  • Более широкому применению макросов

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages