1.5 KiB
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 übergame.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 unterroot. Wer die Hauptszene unter eine Testwurzel hängt, bekommt auf der Gegenseite nurRequested 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
gamedeshalb als Feld. -
Ausgabe erscheint erst, wenn der Prozess regulär endet. Ein per
timeoutabgeschossener Client verliert seine letzten Zeilen.