TDD задає Claude чіткий порядок
AI-assisted test generation без контролю може породити слабкі assertions, надмірні mocks або тест, який проходить ще до виправлення. TDD обмежує цей ризик послідовністю: очікувана поведінка, червоний тест, мінімальний fix, зелений тест і лише потім мале прибирання.
- Сформулюйте спостережувану поведінку.
- Напишіть тест, який не проходить на поточному коді.
- Переконайтеся, що причина падіння — саме відсутня поведінка, а не fixture або import.
- Внесіть найменшу зміну в production-код.
- Запустіть тест і перевірте green result.
- За потреби виконайте невеликий refactor без зміни поведінки.
Червоний тест має бути чесним
Надійний тест перевіряє результат, який бачить користувач або інша система: поле помилки, значення, блокування дії або HTTP-відповідь. Тест, що лише перевіряє «щось повернулося», може залишатися зеленим при наявному дефекті.
До змін переконайтеся, що тест не має проблем із фікстурами, mock-ами чи імпортами та справді відрізняє стару реалізацію від очікуваної.
Прочитай специфікацію та validator.
Додай лише тест для потрібної поведінки.
Production-код не змінюй.
Поясни, чому тест зараз не проходить. Зелений етап і межі refactor
- Попросіть Claude зробити мінімальний fix у межах одного ризику.
- Не дозволяйте переносити файли, додавати helper-и або залежності без рішення.
- Після green допустиме мале прибирання назв чи локального дублювання.
- Великий cleanup винесіть в окрему задачу.
- Зелений статус не скасовує перевірку diff.
Як виявити слабкий AI-тест
| Сигнал | Чому це проблема |
|---|---|
| Тест проходить до fix | Він не доводить наявність початкового дефекту |
| Перевіряється лише виклик mock | Не доведено користувацький або системний результат |
| Замокано обʼєкт перевірки | Тестуємо підміну, а не реальну поведінку |
| Великий snapshot | У шумі важко побачити важливий контракт |
| Нечітка назва | Незрозуміло, який ризик захищено |
Безпечний prompt для ревʼю тесту
У CLAUDE.md можна закріпити повторювані правила: спочатку regression test, до нього не чіпати production-код, після green не робити великий cleanup і звітувати про фактичні перевірки.
Перевір тільки тест.
Визнач, чи він описує поведінку користувача,
чи може пройти при наявному дефекті,
і чи не залежить надмірно від mock-ів.
Файли не змінюй. Канонічне джерело уроку · JavaRush
Відкрити матеріал JavaRush