Ты улучшаешь код, добавляешь функции, что-то меняешь. И каждый раз возникает тревожный вопрос: «А я случайно ничего не сломал?». Проверять всё вручную каждый раз — долго и ненадёжно. Тут на помощь приходят тесты.
Что такое тест
Тест — это маленькая программа, которая проверяет, что другой код работает правильно. Звучит сложно, но идея простая.
Представь, что ты написал функцию, которая складывает два числа. Тест говорит примерно так: «если дать на вход 2 и 2, должно получиться 4». Программа сама запускает функцию, смотрит результат и сравнивает с ожидаемым. Совпало — отлично. Не совпало — где-то ошибка.
Тест — это автоматический контролёр. Он проверяет код вместо тебя и делает это мгновенно.
Зелёный и красный
У тестов есть два состояния, и их легко запомнить по цвету:
- Зелёный — тест прошёл. Код делает то, что должен. Всё в порядке.
- Красный — тест не прошёл. Код повёл себя не так, как ожидалось. Что-то сломалось.
Когда ты что-то меняешь и прогоняешь тесты, картина становится наглядной. Всё зелёное — можно двигаться дальше спокойно. Появился красный — стоп, надо разобраться, что пошло не так.
Красный тест — это не повод расстраиваться, а хорошая новость. Он поймал ошибку до того, как её увидел бы живой человек. Лучше красный тест у себя на экране, чем сломанная программа у пользователя.
Как просить тесты у Claude
Тебе не нужно уметь писать тесты вручную. Достаточно попросить:
напиши тесты для этого файла и прогони их — покажи, что зелёное, а что красное
Claude и сам напишет проверки, и запустит их, и покажет результат. Если что-то красное — попроси разобраться:
тест красный — объясни, что сломалось, и предложи, как починить
Получается удобный цикл: меняешь код → прогоняешь тесты → видишь, всё ли зелёное. Если красное — чинишь, пока снова не позеленеет.
Зачем это всё
Тесты дают тебе спокойствие. Без них каждое изменение — это риск незаметно что-то сломать. С тестами у тебя есть сеть безопасности: внёс правку, прогнал проверки, увидел зелёный — значит, ничего не развалил.
Главное — тесты ловят ошибки до пользователя. Сломанный код находишь ты сам, у себя, а не клиент в реальной работе. Это огромная разница.
Попробуй
В этом уроке нет задания в терминале — он про идею тестов. Подумай, какую простую проверку ты бы попросил написать для своего кода («если ввести то-то, должно получиться то-то»). И ответь на вопросы ниже.