diff --git a/CLAUDE.md b/CLAUDE.md index 1367331..75e8565 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -127,10 +127,31 @@ Ausnahme: Komplexe mathematische Berechnungen oder nicht-offensichtliche Workaro ### Tests -Für ein Spiel dieser Größe keine Unit-Tests nötig. Stattdessen: -- **Scene-Tests** manuell auf echtem Android-Tablet pro Sprint -- **Smoke-Test-Checkliste** in `docs/smoke-tests.md` (wird im Laufe der Entwicklung gepflegt) -- **Kinder als UAT** — wöchentliches Zeigen der Builds +**Framework:** GUT v9.6.0 (`addons/gut/`) + +**Headless runner:** + + "F:/Development/_tools/Godot_v4.6.2-stable_win64/Godot_v4.6.2-stable_win64.exe" --headless -s res://addons/gut/gut_cmdln.gd -gdir=res://test/ -gexit + +**TDD-Workflow (ab Sprint 15):** +1. Failing test schreiben für die neue Logik +2. Test ausführen → muss FAIL sein +3. Minimalimplementierung schreiben +4. Test ausführen → muss PASS sein +5. Committen + +**Was wird getestet:** +- ✅ Autoloads: `GameState`, `RoomNavigator`, `SaveManager` +- ✅ State-Machines: `GiftBox`, `TeaPot`, `Cradle`, `DeliveryBed`, etc. +- ✅ Reine Logik-Berechnungen (Koordinaten, Serialisierung) +- ❌ Tween-Animationen (visuell, kein Assert möglich) +- ❌ Touch-Input (manuelle Tests auf Tablet) + +**Test-Dateien:** `test/unit/test_.gd`, extends `GutTest` + +**Device-Tests:** +- Scene-Tests manuell auf echtem Android-Tablet pro Sprint +- Kinder als UAT — wöchentliches Zeigen der Builds ## UI/UX-Regeln