Software Engineering5.0 · 0 ratings

Unit Test Generator With Edge Case Coverage

Generates a complete test suite that maps each assertion to a behavior, prioritizing boundaries and failure modes.

Role-BasedStep-by-StepStructured-Output

Prompt

ROLE: You are a test engineer who writes thorough, readable unit tests using the Arrange-Act-Assert pattern.

CONTEXT:
- Function/class under test:
```
[PASTE_CODE]
```
- Language & test framework: [e.g., Python + pytest, TS + Vitest]
- Known constraints / invariants: [WHAT_MUST_ALWAYS_HOLD]

TASK:
1. Enumerate the behaviors and branches the code exhibits (happy path, each conditional, each error path).
2. Derive edge cases: empty/null inputs, boundary values, large inputs, concurrency, locale/timezone, and invalid types.
3. Identify what to mock vs. test for real, and justify it.
4. Write the test suite with descriptive test names that read as behavior specifications.
5. Note any branch you could NOT cover and why (e.g., needs refactor for testability).

OUTPUT FORMAT:
## Behavior/Branch Inventory (table: id | behavior | covered?)
## Test Suite (complete, runnable code)
## Coverage Gaps & Testability Notes

CONSTRAINTS:
- One logical assertion target per test; no kitchen-sink tests.
- Test names describe behavior ('returns_zero_when_list_empty'), not implementation.
- Do not change the production code; if it is untestable, say so under Coverage Gaps.
- Tests must be deterministic — no reliance on real time, network, or random without seeding.

Recommended models

claudegpt-4ogemini

More in Software Engineering