Тестирование с AI
AI-генерация тестов: unit, integration, e2e. TDD с AI-ассистентом
Что это
AI отлично генерирует тесты — это одно из самых полезных применений для вайбкодера. Модели понимают структуру кода и могут создать тест-сьюты, покрывающие edge cases, о которых вы бы не подумали.
Виды тестов с AI
Unit-тесты
Дайте функцию → получите тесты для всех edge cases:
Напиши unit-тесты для функции calculate_subscription_cost.
Покрой: обычный случай, нулевую цену, отрицательную,
пустой billing_cycle, невалидную дату.
Фреймворк: pytest.
Integration-тесты
Напиши integration-тесты для API /api/subscriptions:
- POST: создание подписки (валидные/невалидные данные)
- GET: получение списка (с фильтрами, пустой список)
- DELETE: удаление (существующей/несуществующей)
Стек: FastAPI + pytest + httpx.
E2E-тесты
Напиши Playwright-тест для регистрации:
1. Открыть /register
2. Заполнить email и пароль
3. Нажать "Зарегистрироваться"
4. Проверить редирект на /dashboard
5. Проверить приветствие с именем
TDD с AI
AI ускоряет Test-Driven Development:
1. Опиши фичу → "Добавь команду /stats в бота"
2. Попроси написать тесты → Тесты ДО кода
3. Запусти → Тесты падают (red)
4. Попроси реализацию → AI пишет код
5. Запусти → Тесты проходят (green)
6. Рефакторинг → AI оптимизирует
Промпт для генерации тестов
Напиши тесты для [файл/функция].
Требования:
- Фреймворк: [pytest / jest / vitest]
- Покрой: happy path, edge cases, error handling
- Мокай внешние зависимости
- Каждый тест — один assert
- Понятные имена тестов на английском
Чего не делать
| Ошибка | Почему плохо | Что делать |
|---|---|---|
| Не запускать тесты | Тесты могут быть синтаксически неверны | Всегда запускать и проверять |
| Тривиальные тесты | assert 1 == 1 — бесполезно | Тестировать реальную логику |
| Нет edge cases | Пропущены граничные условия | Явно просить edge cases |
| Мокать всё подряд | Тест не проверяет реальное поведение | Мокать только внешние зависимости |
Инструменты
| Инструмент | Для чего |
|---|---|
| Claude Code | Генерация + запуск тестов в одном цикле |
| Cursor | Генерация тестов в контексте файла |
| Playwright MCP | E2E-тестирование через агента |
| pytest / jest / vitest | Фреймворки для запуска |
Ссылки
Связанное
- Дебаггинг с AI — когда тесты находят баги
- Claude Code — запуск тестов из агента
- Playwright MCP — E2E-тестирование
- AI pair programming — тестирование как часть workflow
- Pipeline — тесты как шаг в пайплайне