Files
pirate-dice/tests/README.md
2026-09-16 13:21:56 +02:00

1.1 KiB
Raw Blame History

Tests

make test

Läuft alles headless: Logik, Nochmal, Bot-Partie (Stufe schwer, 8×), und eine echte Mehrspieler-Partie mit Server, Host-Client und Gast-Client - der Gast steigt in Runde zwei aus und wieder ein.

Die Screenshots-Prüfungen (Look, Layout) sind nicht dabei; die braucht ein Fenster.

Fallen

  • Wurzelname. Der Spielknoten muss auf Server und Client denselben Pfad haben (/root/Main/Raeume/<CODE>/…). Daran hängt jeder RPC. Die Mehrspieler-Tests laden deshalb die echte Hauptszene als aktuelle Szene und hängen ihren Läufer daneben unter root. Wer die Hauptszene unter eine Testwurzel hängt, bekommt auf der Gegenseite nur Requested node was not found - und der Server spielt die Menschen per Zeitablauf selbst, was wie eine laufende Partie aussieht.
  • Port 8000 ist auf Entwicklungsrechnern oft belegt. PORT=… make test.
  • Lambdas in GDScript kopieren lokale Variablen. Eine Zuweisung darin landet nicht draußen; die Tests halten game deshalb als Feld.
  • Ausgabe erscheint erst, wenn der Prozess regulär endet. Ein per timeout abgeschossener Client verliert seine letzten Zeilen.