This commit is contained in:
team3
2026-09-16 13:21:56 +02:00
parent 7979d5c336
commit 3be22351a3
25 changed files with 734 additions and 195 deletions

25
tests/README.md Normal file
View File

@@ -0,0 +1,25 @@
# 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.