PROMPT DETAILS Updated 2026-05-17
The Prompt
Generate a comprehensive unit test suite for the following code. Follow these rules:
1. **Naming:** Use descriptive test names: `test_[method]_[scenario]_[expected_result]`
2. **Coverage:** Include tests for:
- Happy path (normal inputs)
- Edge cases (empty, null, boundary values)
- Error cases (invalid inputs, exceptions)
- State transitions (if applicable)
3. **Structure:** Use Arrange-Act-Assert pattern
4. **Mocking:** Mock external dependencies, never real APIs/DBs
5. **Independence:** Each test should run independently, no shared state
Use [FRAMEWORK] testing framework. Add brief comments explaining WHY each edge case matters.
Here's the code to test:
[PASTE CODE]
How To Use It
Replace [FRAMEWORK] with your testing library (pytest, Jest, JUnit, etc.) and paste the code. For best results, also mention what the code’s callers expect so the AI can test the contract, not just the implementation.
Why It Works
The explicit coverage categories ensure the AI doesn’t just test the happy path. The naming convention forces clarity about what each test verifies, and the Arrange-Act-Assert structure keeps tests readable.
Variations
Integration test generator:
Write integration tests that verify this module works correctly with its real dependencies. Focus on data flow between components, not internal logic.
Property-based test generator:
Write property-based tests for this function. Identify invariants that should hold for ALL valid inputs, then express them as properties.
Regression test from bug report:
This bug was reported: [description]. Write a failing test that reproduces the bug, then show me the minimal fix that makes it pass.