Skip to main content

tdd

Test-driven development: write tests first, implement until they pass. Use when implementing features with complex logic that benefits from test-first approach. Triggers: "TDDで", "テスト駆動", "テストファーストで実装", "tdd", "バグを防ぎたい", "テストから書いて".

معلومات المصدر

المستودع
t2hnd/skills
آخر نشاط في المصدر
٧ فبراير ٢٠٢٦ في ١١:٣٦
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٠
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
tdd
description
Test-driven development: write tests first, implement until they pass. Use when implementing features with complex logic that benefits from test-first approach. Triggers: "TDDで", "テスト駆動", "テストファーストで実装", "tdd", "バグを防ぎたい", "テストから書いて".
# TDD Skill Autonomous test-driven development. Write comprehensive tests FIRST, then implement until all tests pass. Prevents "Buggy First-Pass Implementations". ## Workflow: Red → Green → Refactor ### Phase 1: Understanding (READ) 1. **Read existing codebase** to understand: - Current architecture and patterns - Existing types and interfaces - Testing patterns already in use 2. **Identify edge cases** that commonly cause bugs: - Empty data / null values - Boundary conditions (0, negative, max values) - Sorting bias (alphabetical, temporal) - Normalization edge cases (division by zero, all same values) - Missing configuration (.env variables) - Type mismatches (string vs number, undefined fields) ### Phase 2: Test Design (RED) **BEFORE writing ANY implementation code:** 3. **Write comprehensive tests** covering: - Happy path (expected usage) - Edge cases (empty, null, boundary) - Error conditions (invalid input, missing config) - Integration points (API calls, data flow) 4. **Run tests** — they should ALL FAIL: ```bash npx vitest run <test-file> # or pytest <test-file> -v ``` 5. **Verify tests fail for the right reasons:** - ✓ Function not implemented yet → correct - ✗ Test itself is broken → fix the test ### Phase 3: Implementation (GREEN) 6. **Implement the feature** — minimal code to make tests pass 7. **Run tests iteratively** after each change until ALL pass 8. **Verify no regressions** — run full test suite: ```bash npx vitest run ``` ### Phase 4: Verify 9. **Build verification:** ```bash npm run build npm run typecheck ``` ### Phase 5: Report 10. **Provide summary:** ``` ✓ RED: Wrote 8 tests (edge cases, normalization, sorting bias) ✓ GREEN: All 8 tests passing ✓ Build passed, no regressions Files: src/utils/score.ts (+45), test/score.test.ts (+85, new) ``` ## Common Edge Cases to Always Test **Scoring/Ranking:** empty dataset, all same values, single item, division by zero **Field References:** wrong field name, undefined/null, type mismatches **Sorting:** alphabetical bias, temporal bias, tie-breaking **Configuration:** missing .env, dotenv not loaded, API keys unset ## Important Rules - **NEVER write implementation before tests** — core TDD principle - **NEVER skip edge case tests** — these catch the most common bugs - **NEVER ask clarifying questions** — make assumptions and document them - **DO iterate until 100% pass** — partial success is not done - **DO run full test suite** — catch regressions
عرض على GitHub