# Тесты: как просить проверять работу

Курс: Claude Code и терминал: с 0 — https://zero2claude.ru/learn/code-terminal
Канонический URL: https://zero2claude.ru/learn/code-terminal/7-8-testy

Тест — это маленькая программа, которая проверяет, что код работает правильно. Можно попросить Claude написать тесты и прогнать их.

Ты улучшаешь код, добавляешь функции, что-то меняешь. И каждый раз возникает тревожный вопрос: «А я случайно ничего не сломал?». Проверять всё вручную каждый раз — долго и ненадёжно. Тут на помощь приходят **тесты**.

## Что такое тест

Тест — это **маленькая программа, которая проверяет, что другой код работает правильно**. Звучит сложно, но идея простая.

Представь, что ты написал функцию, которая складывает два числа. Тест говорит примерно так: «если дать на вход 2 и 2, должно получиться 4». Программа сама запускает функцию, смотрит результат и сравнивает с ожидаемым. Совпало — отлично. Не совпало — где-то ошибка.

Тест — это автоматический контролёр. Он проверяет код вместо тебя и делает это мгновенно.

## Зелёный и красный

У тестов есть два состояния, и их легко запомнить по цвету:

- **Зелёный** — тест прошёл. Код делает то, что должен. Всё в порядке.
- **Красный** — тест не прошёл. Код повёл себя не так, как ожидалось. Что-то сломалось.

Когда ты что-то меняешь и прогоняешь тесты, картина становится наглядной. Всё зелёное — можно двигаться дальше спокойно. Появился красный — стоп, надо разобраться, что пошло не так.

Красный тест — это не повод расстраиваться, а хорошая новость. Он поймал ошибку **до** того, как её увидел бы живой человек. Лучше красный тест у себя на экране, чем сломанная программа у пользователя.

## Как просить тесты у Claude

Тебе не нужно уметь писать тесты вручную. Достаточно попросить:

```
напиши тесты для этого файла и прогони их — покажи, что зелёное, а что красное
```

Claude и сам напишет проверки, и запустит их, и покажет результат. Если что-то красное — попроси разобраться:

```
тест красный — объясни, что сломалось, и предложи, как починить
```

Получается удобный цикл: меняешь код → прогоняешь тесты → видишь, всё ли зелёное. Если красное — чинишь, пока снова не позеленеет.

## Зачем это всё

Тесты дают тебе спокойствие. Без них каждое изменение — это риск незаметно что-то сломать. С тестами у тебя есть сеть безопасности: внёс правку, прогнал проверки, увидел зелёный — значит, ничего не развалил.

Главное — тесты ловят ошибки **до пользователя**. Сломанный код находишь ты сам, у себя, а не клиент в реальной работе. Это огромная разница.

## Попробуй

В этом уроке нет задания в терминале — он про идею тестов. Подумай, какую простую проверку ты бы попросил написать для своего кода («если ввести то-то, должно получиться то-то»). И ответь на вопросы ниже.
