-
Notifications
You must be signed in to change notification settings - Fork 1
Tests
Zum Testen haben wir uns für den Unity Test Runner entschieden.
Unser Spiel und auch fast alle Methoden basieren auf dem Mirror Network. Das hat das Testen für uns sehr komplex gemacht, da die Commands und Rpc-Calls nur innerhalb einer Mirror Server Struktur ausgeführt werden können.
Um nun auch diese Testen zu können mussten wir daher einen Mirror Server in den Tests emulieren.
Wenn der Mirror Server läuft, können Rpc-Calls einfach in den Tests ausgeführt werden weil der TestRunner quasi im Server läuft. Der Client existiert nur theoretisch als ConnectionToClient. Jedoch gibt es keine echte laufende Unity-Instanz als Client.

Wir haben unsere Test entsprechend unseren Klassen angepasst, wobei wir einige Klassen in Tests zusammengefasst haben
- Notifications: Notification, NotificationSystem, NotivicationCanvas
- Database: DatabaseSetup, Question, QuestionSet
- Player, PlayerInput innerhalb des Game Tests
Wenn die Tests gleichzeitig gestartet werden, beeinflussen sie sich gegenseitig, da alle auf die selbe Szene zugreifen. Deshalb gehen einige Tests schief, wenn man über "Run All" alle Tests startet. Durch eine separate Ausführung können die Tests erfolgreich ausgeführt werden.