--- sidebar_label: Тестовая инфраструктура (EXPECT, TEST, ...) --- # Тестовая инфраструктура DCR имеет встроенный минималистичный фреймворк для тестирования на C/C++. ## Макросы ### `EXPECT(expr, ...)` Проверяет, что выражение истинно. ```c EXPECT(1 + 1 == 2); EXPECT(ptr != NULL, "ptr should not be NULL"); ``` ### `SKIP(...)` Пропускает тест с опциональным сообщением. ```c SKIP("not implemented on Windows yet"); ``` ### `TEST(name)` Определяет тест. ```c TEST(addition) { EXPECT(1 + 1 == 2); EXPECT(2 + 2 == 4); } ``` ### `TEST_CASE(name, ...)` Registers a test case. ```c TEST_CASE(math, a, b) { EXPECT(a + b == b + a); } ``` ## Инициализация ```bash dcr test --init ``` Создаются файлы: * `tests/dcr_test.h` — заголовочный файл фреймворка * `tests/test.c` — шаблон с примером теста ## Структура tests/ ``` tests/ ├── dcr_test.h # фреймворк (не редактировать) ├── test.c # основные тесты └── ... # дополнительные .c файлы с тестами ``` Only `.c` files are compiled (`.cpp` is not supported).