Unit-Tests aus Funktion generieren
Schreibt sinnvolle Unit-Tests - nicht einen pro Zeile, sondern nach Äquivalenzklassen, Grenzwerten und Fehlerfällen.
Zuletzt geprüft 23. April 2026
Prompt
Write unit tests for the function below. Framework: [FRAMEWORK - e.g. pytest / vitest / jest / go test]. Test-Design-Prinzipien: - Group by EQUIVALENCE CLASSES, not by line coverage - Explicit cases for: happy path, empty input, boundary values, invalid input, error paths - One assertion per test where possible (readability over DRY) - Table-driven / parametrized where input varies, separate test for distinct behaviors - Mock only external boundaries (I/O, time, random) - do not mock what you test Output: 1. TEST CASES LIST - bullet list of what you'll test, grouped by class, BEFORE writing code 2. CODE - the tests, runnable as-is 3. COVERAGE GAP NOTE - what you deliberately did NOT test and why (e.g. "internal helper, covered via public API") Rules: - Do not add tests for language features (don't test that `len([])==0`) - Do not invent requirements. If unclear what should happen on edge X, mark as "TODO: clarify expected behavior for X" - Prefer readable data over clever fixtures Function: [PASTE] Public contract (if known): [DOCSTRING OR DESCRIPTION]
Wann nutzen
Für sinnvolle Testabdeckung statt 100% line coverage. Die Test-Cases-Liste vorab zeigt, wie das Modell denkt - oft reicht die Liste, um die Tests selbst zu schreiben.
Use-Cases
- Legacy-Funktion ohne Tests, die du anfassen musst.
- Neue Funktion, du willst die Kanten vorab systematisch prüfen.
- Parser / Validator / Pure Function - klassische Test-Ziele.
Getestet mit
Wenn dir die Liste zu umfangreich wird: streiche alles, das “coverage theater” wäre. Die verbleibenden Tests sind die, die Bugs finden.