Files
pirate-dice/tests/README.md
2026-09-16 15:04:02 +02:00

31 lines
1.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Tests
make test # alle Prüfungen, etwa 30 Sekunden
make sim # Bot gegen Bot, je Stufe 20 Partien: Runden und Siegquoten
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
* **Kein `Engine.time_scale`.** Er staucht auch den Physikschritt; ab etwa 6×
tunneln die Würfel durch den Filz und fallen ewig. Schnell wird es über
`game.tempo = 0` - das streicht nur die Wartezeiten des Ablaufs.
* **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.