Skip to content

PlayMode-Test NetworkPanel_ValidatesMasks… ist auf main rot — und niemand sieht es, weil die CI keine Unity-Tests fährt #110

Description

@cubetribe

Gefunden beim Verifizieren von Sprint 21 gegen das lokale Unity (6000.5.4f1).

Befund

Nova.PlayMode.Tests.MainMenuTests.NetworkPanel_ValidatesMasksAndCancelsWithoutStartingGameplay schlägt auf unberührtem origin/main (9281341) fehl:

Expected: not equal to None
But was:  None

Das ist Assert.AreNotEqual(DisplayStyle.None, root.Q("menu-network").style.display.value) — nach dem Druck auf "Netzpartie" bleibt das Netzwerk-Panel ausgeblendet. Baseline-Lauf: MainMenuTests 4/5 grün, dieser eine rot.

Gegenprobe gemacht: der Test wurde eigens gegen ein sauberes origin/main gefahren, um auszuschliessen, dass laufende Sprint-21-Arbeit ihn verursacht. Sie tut es nicht.

Warum es niemandem aufgefallen ist

.github/workflows/tests.yml fährt ausschliesslich dotnet test tools/Nova.SimRunner.Tests — die headless-Simulationskette. Die Unity-Tests laufen in keiner CI. EditMode (592) und PlayMode (11) werden nur ausgeführt, wenn jemand sie von Hand startet.

Das ist der eigentliche Befund. Ein roter Test, den keine Kette fährt, ist ein Test, der niemanden warnt.

Zwei Dinge, die daraus folgen

  1. Diesen Test reparieren (oder, falls die Erwartung überholt ist, die Erwartung).
  2. Grundsätzlicher: Entweder die Unity-Tests kommen in die CI, oder sie werden ausdrücklich als "nur lokal, vor dem Merge" geführt und jemand ist dafür zuständig. Der heutige Zwischenzustand — sie existieren, sie sind gepflegt, sie laufen nirgends — ist der schlechteste.

Ein Unity-Batchlauf kostet lokal rund zwei Minuten:

Unity -batchmode -projectPath . -runTests -testPlatform EditMode -testResults em.xml -logFile em.log

Wichtig: -quit darf dabei nicht gesetzt werden — Unity beendet sich sonst vor dem Testlauf, schreibt keine Ergebnisdatei und meldet trotzdem Erfolg. Genau das hat hier zuerst einen grünen Eindruck erzeugt.

Nicht betroffen

Die headless-Kette ist grün (726/726), und die EditMode-Suite ist es ebenfalls (592/592). Es geht um diesen einen PlayMode-Test.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions