Skip to content

BilyalovE/Unit-Test-Framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

README: Набор инструментов для тестирования C++

Описание

Данный проект представляет собой набор инструментов для тестирования кода на C++. Он включает в себя:

  • Операторы вывода для контейнеров (vector, set, map), чтобы удобно выводить их содержимое в поток ostream.
  • Макросы для удобного тестирования (ASSERT_EQUAL, ASSERT, RUN_TEST).
  • Класс TestRunner, который позволяет запускать тесты и отображать результаты выполнения.
  • Функции AssertEqual и Assert, которые проверяют равенство значений и логические выражения.

Функциональность

1. Операторы вывода

Функции operator<< позволяют выводить в std::ostream содержимое vector, set и map. Это удобно при тестировании, так как можно легко отобразить значения контейнеров в cerr или cout.

2. Проверка условий

AssertEqual(const T& t, const U& u, const string& hint = {})

Проверяет, равны ли t и u. Если значения различаются, генерируется исключение std::runtime_error с пояснением.

Assert(bool b, const string& hint)

Проверяет логическое выражение b. Если оно false, генерируется исключение с сообщением об ошибке.

3. Класс TestRunner

Используется для управления тестами. Позволяет выполнять тестовые функции и выводить результаты:

  • В случае успешного теста выводится OK.
  • В случае ошибки выводится сообщение с описанием ошибки и номером теста.
  • Если тестов не пройдено несколько, программа завершает выполнение с exit(1).

Пример использования:

void TestFunction() {
    ASSERT_EQUAL(2 + 2, 4);
    ASSERT(1 < 2);
}

int main() {
    TestRunner tr;
    RUN_TEST(tr, TestFunction);
    return 0;
}

4. Макросы

ASSERT_EQUAL(x, y)

Проверяет, что x == y. Если это не так, тест завершается с сообщением об ошибке.

ASSERT(x)

Проверяет, что x истинно (не false).

RUN_TEST(tr, func)

Запускает тест func с использованием TestRunner.

Установка и использование

  1. Склонируйте репозиторий:
git clone <URL_РЕПОЗИТОРИЯ>
cd <НАЗВАНИЕ_ПРОЕКТА>
  1. Используйте заголовочный файл в своем проекте:
#include "test_runner.h"
  1. Определите тестовые функции и запустите их через TestRunner.
  2. Скомпилируйте и запустите программу:
g++ -std=c++17 main.cpp -o test_runner
./test_runner

Требования

  • Компилятор с поддержкой C++17 (или выше).

Контакты

Если у вас есть вопросы или предложения, создайте issue в репозитории или свяжитесь со мной. 🚀

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages