Tests
Testprojekte
tests/HolodeckArena.Game3D.Tests/HolodeckArena.Game3D.Tests.csproj: Dungeon-Graph, RunDefinition, Objectives, Encounters, Door-Sockets, Template-Auswahl, Kamera/Animation sowie Waffen/Loadouts/Mastery.tests/HolodeckArena.Bootstrap.Tests/HolodeckArena.Bootstrap.Tests.csproj: Manifest, Hash, sichere Pfade, Update-Plan und Bootstrap-Helfer inShared/Bootstrap.src/server/nakama/modules/tests: Node-Testläufe für Replay-Upload/Streaming, Validierung, Mailbox, Leaderboards und Scoring.
dotnet test tests/HolodeckArena.Game3D.Tests/HolodeckArena.Game3D.Tests.csproj
dotnet test tests/HolodeckArena.Bootstrap.Tests/HolodeckArena.Bootstrap.Tests.csproj
dotnet test tests/HolodeckArena.Game3D.Tests/HolodeckArena.Game3D.Tests.csproj --collect:"XPlat Code Coverage" --settings coverlet.runsettings
cd src/server/nakama/modules
npm test
Was ohne Godot-Kontext testbar ist
Shared-Dungeon-Generator, Canonical Serialization/Hash, Objectives, RunLifecycle, Replay-Policies, Encounter-Controller mit Test-Spawner, Waffen-Catalog, PlayerProgressionProfile, Unlock-/Mastery-Regeln, LoadoutValidator, StatCalculator, Movement-Modelle und Bootstrap-Core. Scenes, tatsächliche Resource-Pfade, Navigation, Collision, Signals und SceneTree-Lifecycle benötigen Godot-Tests oder manuelle Prüfung.
Determinismus
Ein Test verwendet festen Seed, erzeugt zweimal, vergleicht Definition/Hash und prüft bei verändertem Seed eine fachlich relevante Abweichung. Collection-Reihenfolge vor Hash/Serialization explizit sortieren. RoomTemplateSelector-Tests müssen Rotation, exakte Bounds, Door-Kompatibilität, Gewichtung und gleichen Seed abdecken.
Manuelle Integration
RoomTemplatePreview.tscn: einzelnes Template, Rotation, Open/Sealed, Validator.DungeonTemplateIntegrationTest.tscn: kompletter V3-Dungeon mit festem Seed.- Full stack: Auth → Hub → Terminal → Run → Objectives → Exit → Completion.
- Zwei Clients: Spawn, Remote-Interpolation, Disconnect/Rejoin.
Automatisierte Godot-SceneTree- und echte Nakama/PostgreSQL-Integrationstests fehlen weiterhin. Die Node-Tests des Nakama-Moduls verwenden eine Runtime-Harness und decken Verträge/SQL-Erzeugung ab, ersetzen aber keinen Container-Smoke-Test. Neue RPCs benötigen mindestens npm test plus einen dokumentierten lokalen RPC-Smoke-Test.
Anleitung: Automatisierten Test ergänzen.
Abdeckungsschwerpunkte
Die Game3D-Suite ist nach Characterization, GoldenMasters, Domain und Application gegliedert. Sie deckt neben Dungeon und Waffen auch Boss-Kataloge, Balancing-Sandbox, physische Drops, Replay-Integrität/-Regeln/-Upload-Recovery, Online-Run-Validierung, Leaderboard-Use-Case/Presentation, Progression, Settings sowie serverautoritativen Weapon-Combat ab. Testanzahlen nicht in der Dokumentation festschreiben; sie ändern sich bei jeder Erweiterung. Maßgeblich ist der aktuelle Output der oben genannten Befehle.