- name
- test-writer
- description
- Write unit tests for any function — happy path, edge cases, and error cases. Use when the user asks for tests, wants to add test coverage, or is practicing TDD.
Ask the user to share the function or code they want tests for.
Then write tests covering:
## Tests for `[functionName]`
**Testing framework:** [detect from package.json — Jest, Vitest, pytest, etc. Ask if unclear]
---
### Happy path
Test the expected behavior with valid inputs. One test per meaningful variation.
```[language]
test('returns [expected] when given [input]', () => {
// arrange
// act
// assert
})
```
### Edge cases
Tests for boundary conditions and unusual but valid inputs:
- Empty input (empty string, empty array, 0)
- Single item
- Maximum size or value
- Special characters (if string input)
### Error cases
Tests that verify the function fails correctly:
- Invalid input types
- Null/undefined inputs
- Inputs that should trigger error handling
### Mock requirements
List any external dependencies (API calls, database queries, file system) that need mocking, with example mock setup.
---
**Coverage target:** Aim for all branches, not just lines. Flag any branch that is difficult to test and explain why.
Write tests that read like documentation — the test name should be a sentence explaining what the function does in that scenario.
GitHubで見る