test-driven-development
Писать тесты до кода
Также доступно от: Cycleaddict,obra,davila7,DMJGilbert,DYAI2025,CodingCossack
Код, написанный без предварительных тестов, лишён проверки и обнаруживает ошибки слишком поздно. Этот навык проведёт вас через цикл TDD Red-Green-Refactor для написания падающих тестов до реализации, обеспечивая автоматическую проверку каждой функции с самого начала.
Скачать ZIP навыка
Загрузить в Claude
Перейдите в Settings → Capabilities → Skills → Upload skill
Включите и начните использовать
Протестировать
Использование «test-driven-development». Use TDD to add user authentication to the login function
Ожидаемый результат:
- RED: Writing failing test first
- test('rejects empty email with error message', async () => {
- const result = await login({ email: '', password: 'password123' });
- expect(result.error).toBe('Email required');
- });
- GREEN: Minimal implementation to pass test
- function login(data) {
- if (!data.email?.trim()) {
- return { error: 'Email required' };
- }
- // ... rest of login logic
- }
- Next test: Add password validation, then continue the cycle.
Использование «test-driven-development». Use TDD to implement a retry function
Ожидаемый результат:
- RED: First failing test
- test('retries failed operations 3 times', async () => {
- let attempts = 0;
- const operation = () => {
- attempts++;
- if (attempts < 3) throw new Error('fail');
- return 'success';
- };
- const result = await retryOperation(operation);
- expect(result).toBe('success');
- expect(attempts).toBe(3);
- });
- GREEN: Minimal code to pass
- async function retryOperation(fn) {
- for (let i = 0; i < 3; i++) {
- try { return await fn(); }
- catch (e) { if (i === 2) throw e; }
- }
- }
Аудит безопасности
БезопасноThis skill contains only markdown documentation with TDD guidelines and code examples. No executable code, scripts, network calls, filesystem access, or external command execution capabilities. Pure prompt-based documentation safe for publication.
Факторы риска
🌐 Доступ к сети (1)
⚙️ Внешние команды (57)
Оценка качества
Что вы можете построить
Изучение основ TDD
Следуйте циклу Red-Green-Refactor для формирования привычек тестирования в первую очередь с самого начала вашего пути в программировании.
Добавление тестов к новым функциям
Убедитесь, что каждая функция или исправление ошибки включает проходящие тесты, написанные до кода реализации.
Проверка соблюдения TDD
Проверьте, что все изменения кода имеют соответствующие тесты, которые падали до написания реализации.
Попробуйте эти промпты
Use TDD to implement [feature description]. First write a failing test that describes the expected behavior. Show me the test failing before writing any implementation code.
Fix this bug using TDD: [bug description]. Start by writing a failing test that reproduces the bug behavior. Then implement the fix to make the test pass.
Refactor this code using TDD principles. First ensure existing behavior is covered by tests. Then clean up while keeping all tests green.
Review my implementation for TDD compliance. Check if tests were written before code, if they failed for the right reasons, and if implementation is minimal to pass the tests.
Лучшие практики
- Всегда проверяйте, что тесты падают перед написанием реализации - немедленное прохождение ничего не доказывает
- Пишите одно поведение на тест с понятными названиями, описывающими ожидаемое поведение
- Сохраняйте реализацию минимальной для прохождения тестов - сопротивляйтесь добавлению функций во время зелёной фазы
Избегать
- Написание кода реализации до тестов - удалите его и начните заново
- Тестирование поведения моков вместо реального поведения компонентов
- Добавление методов только для тестов в продакшн-классы вместо тестовых утилит