|
| 1 | +tags:: [[Claude Code]], [[Testing]], [[Diataxis/Explanation]] |
| 2 | + |
| 3 | +- # Claude Code & [[Programming/Test]] Iteration — Conceptual Guide |
| 4 | + - ## Overview |
| 5 | + - **Claude Code** is Anthropic’s terminal-native agentic coding tool. |
| 6 | + - In a *test-iteration* workflow Claude alternates between **generating / editing tests**, **running them**, and **patching code** until all tests pass. |
| 7 | + - The loop accelerates *test-driven development* (TDD) and bug-fix cycles without hiding the repo’s real history. |
| 8 | + - ## Context & Motivation |
| 9 | + - Traditional TDD is powerful but time-consuming; engineers hand-write red tests, implement code, rerun, repeat. |
| 10 | + - Large-language-model agents can draft failing tests, propose fixes, and validate in seconds—freeing humans to review intent instead of boilerplate. |
| 11 | + - Claude Code embeds this agent inside the developer’s shell, so test iteration happens *in situ* with minimal context switching. |
| 12 | + - ## Key Concepts |
| 13 | + - **Agentic Loop**: Claude gathers context → writes/edits tests → invokes `pytest` → parses results → patches code. |
| 14 | + - **/tests Command**: one-shot prompt that asks Claude to create or update tests for a target module. |
| 15 | + - **Fail-First Strategy**: Claude intentionally produces failing tests to anchor behavior before touching implementation, mirroring human TDD habits. |
| 16 | + - **Safety Prompts**: every file change lands in a diff with *Yes / No* review gates—essential for preventing runaway edits. |
| 17 | + - **Extended Thinking**: adding “think hard” or `/think` triggers deeper planning before the loop. |
| 18 | + - ## Examples |
| 19 | + - *Prompt to seed tests* |
| 20 | + ~~~text |
| 21 | + /tests for utils/date_parser.py covering edge cases |
| 22 | + ~~~ |
| 23 | + - *Iterative bug fix* |
| 24 | + ~~~text |
| 25 | + fix failing test_parse_iso8601 |
| 26 | + ~~~ |
| 27 | + Claude proposes a patch → you approve → `/pytest -q` re-runs automatically. |
| 28 | + - *Generate property-based tests* |
| 29 | + ~~~text |
| 30 | + add hypothesis strategies for the same module |
| 31 | + ~~~ |
| 32 | + - ## Common Misconceptions |
| 33 | + - **“Claude replaces my test suite.”** |
| 34 | + - No. Claude accelerates *authoring*; you still curate, review, and own the tests. |
| 35 | + - **“One pass is enough.”** |
| 36 | + - Agentic iterations often need multiple cycles: generate → refine → finalize. |
| 37 | + - **“It ignores costing.”** |
| 38 | + - Repeated runs consume tokens; use `/cost` to monitor spend. |
| 39 | + - ## When to Use |
| 40 | + - Green-field TDD on a new feature. |
| 41 | + - Legacy code lacking coverage—ask Claude to back-fill tests before refactors. |
| 42 | + - Debug sessions where failing asserts already exist; use Claude to propose targeted fixes. |
| 43 | + - ## Related |
| 44 | + - [[Anthropic/App/Claude Code/How To/Bootstrap Claude Code with Mise + UV-Powered Okta Role Assumption]] |
| 45 | + - Anthropic docs: *Common Tasks → TDD with Claude Code* |
0 commit comments