Testing Patterns¶
Testing Patterns, Test Fixtures, Mocking, Faking und testbare Architektur.
Test-Patterns¶
Arrange-Act-Assert (AAA)¶
Jeder Test folgt dem gleichen Aufbau: Setup, Ausfuehrung, Verifikation.
Test Doubles¶
| Double | Zweck |
|---|---|
| Stub | Vordefinierte Antworten liefern |
| Mock | Interaktionen verifizieren |
| Fake | Funktionierende Implementierung (in-memory DB) |
| Spy | Aufrufe aufzeichnen, echte Implementierung nutzen |
Fixture Patterns¶
| Pattern | Beschreibung |
|---|---|
| Factory | Testdaten ueber Factories erzeugen |
| Builder | Komplexe Testobjekte schrittweise aufbauen |
| Mother | Benannte Presets fuer haeufige Szenarien |
Testbarkeit sicherstellen¶
- Dependency Injection ueber Konstruktor
- Interfaces/Protocols fuer externe Abhaengigkeiten
- Pure Functions bevorzugen
- Side Effects isolieren
- Deterministische Daten (fixe Timestamps, Seeds)
Sprachspezifisch¶
pytestmit Fixtures und Parametrizeunittest.mock/pytest-mockfactory_boyfuer Test Factorieshypothesisfuer Property-Based Testing
- Table-Driven Tests
testifyfuer Assertions- Interface-basiertes Mocking
httptestfuer HTTP Tests
- Vitest / Jest mit
describe/it - Testing Library fuer Komponenten
- MSW fuer API Mocking
- Playwright fuer E2E
Verwandte Skills¶
- Testing Strategies — Strategieebene
- Clean Code — Testbarer Code
Quelldatei: skills/testing/SKILL.md