tdd
Написание тестов с использованием разработки через тестирование
Также доступно от: Benny9193
Написание тестов после кода создает хрупкие системы, которые ломаются при рефакторинге. Этот навык проведет вас через разработку через тестирование, где тесты определяют поведение до реализации, что приводит к более чистому коду и надежному рефакторингу.
Скачать ZIP навыка
Загрузить в Claude
Перейдите в Settings → Capabilities → Skills → Upload skill
Включите и начните использовать
Протестировать
Использование «tdd». Help me build a feature to add items to a shopping cart
Ожидаемый результат:
I'll guide you through TDD for this feature. First question: what should happen when a user adds an item? Should we support quantity? What behavior should be verifiable?
Использование «tdd». Write tests for user authentication
Ожидаемый результат:
For auth testing, focus on public interfaces: login, logout, session handling. I recommend integration-style tests over mocking internal auth logic. What external services does your auth use?
Использование «tdd». I have tests that break whenever I refactor
Ожидаемый результат:
Your tests are likely coupled to implementation details. Good tests verify behavior through public interfaces. Let's identify which tests break and what they're testing.
Аудит безопасности
БезопасноAll 48 static findings are false positives. The skill contains educational TDD documentation with code examples. External command flags were triggered by ASCII workflow diagrams (RED→GREEN patterns). Cryptographic algorithm flags were triggered by testing patterns like jest.mock() and StripeClient(). No malicious code or prompt injection detected.
Оценка качества
Что вы можете построить
Создание новых функций с помощью TDD
При начале работы над новой функцией этот навык помогает сначала написать тесты, определяющие ожидаемое поведение, а затем направляет минимальную реализацию для прохождения этих тестов.
Исправление ошибок с помощью падающих тестов
При сообщении об ошибке этот навык помогает написать падающий тест, воспроизводящий ошибку, а затем направляет исправление кода для прохождения теста.
Улучшение унаследованного кода через рефакторинг
Перед рефакторингом унаследованного кода этот навык помогает написать интеграционные тесты, фиксирующие текущее поведение, обеспечивая сохранность функциональности при рефакторинге.
Попробуйте эти промпты
Мне нужно добавить [функция] в [модуль]. Помогите использовать TDD для сборки. Начните с вопроса о том, какое поведение тестировать в первую очередь.
Есть ошибка, где [описание]. Помогите написать падающий тест, который это воспроизводит, затем исправьте.
Я хочу улучшить тесты для [модуль]. Просмотрите мои текущие тесты и предложите улучшения следуя принципам TDD.
Я хочу провести рефакторинг [модуль]. Помогите написать тесты, которые сначала фиксируют текущее поведение, затем направьте мой рефакторинг.
Лучшие практики
- Пишите один тест за раз и только достаточный код для его прохождения
- Используйте только открытые интерфейсы; тесты должны переживать внутренний рефакторинг
- Предпочитайте интеграционные тесты, проверяющие наблюдаемое поведение, мокам внутренних компонентов
Избегать
- Написание всех тестов сначала, затем всей реализации (горизонтальное разрезание)
- Мокирование внутренних участников вместо тестирования через открытые интерфейсы
- Написание тестов, проверяющих детали реализации, а не поведение