Das finden Sie auf dieser Seite: Tipps zur Verwendung des Unity Test Framework (UTF) zur Qualitätssicherung Ihrer Projekte. Das UTF ist eines der wichtigsten Tools für die Qualitätssicherung. Es wird verwendet, um automatisierte Tests sowohl im Editor als auch auf unterstützten Plattformen durchzuführen. Es ist außerdem für alle Unity-Nutzer verfügbar!
Eine neue Test Runner-API bringt für die meisten Ihrer Testanforderungen größere Flexibilität und Erweiterbarkeit in das UTF. Das Framework ist über den Unity Package Manager verfügbar, sodass wir Fehlerbehebungen und neue Updates schneller liefern können. Das bedeutet auch, dass Sie lokal auf den UTF-Quellcode zugreifen können. Sie können sich den Quellcode ansehen, ihn beim Debuggen durchgehen und modifizieren.
Einen vollständigen Überblick erhalten Sie im Video der UTF-Session auf der Unite in Kopenhagen, auf der die Unity-Tool- und Testentwickler Richard Fine und Christian Warnecke anwesend waren.

Erste Schritte mit dem Unity Test Framework
If you are new to the Unity Test Framework (UTF), read the documentation for an introduction. In brief, the UTF enables Unity users to test their code in both Edit Mode and Play Mode, and also on target platforms such as Standalone, Android, iOS, and others.
UTF uses a Unity integration of the NUnit library, which is an open-source unit testing library for .Net languages. For more information about NUnit, see the official NUnit website and the NUnit documentation on GitHub.
You might also find these blog posts informative:
Performance benchmarking in Unity: How to get started
Testing test-driven development with the Unity Test Runner
Another related solution to learn about is Backtrace, an error management platform that enables you to capture crashes and exceptions and fix them quickly. Watch this Unite Now session for an in-depth introduction.
Übersicht über die Test Runner-API
Sie können Ihre Tests programmatisch von jedem Skript aus über die Test Runner-API (siehe API weiter unten) ausführen. Sie ermöglicht es Ihnen, eine Liste von Tests abzurufen, die im Bearbeitungsmodus, im Wiedergabemodus oder in beiden Modi laufen, ohne sie auszuführen. Sie können sich zu Beginn und am Ende jedes Tests und auf jeder Ebene innerhalb des Testzyklus, d. h. auf der gesamten Testanordnung, auf jeder einzelnen Testvorrichtung und auf jeder Testklasse und jedem Test, mit einigen registrierten oder nicht registrierten Callbacks verbinden.
Zu Beginn jedes Tests erhalten Sie Informationen über die Testroute, die kurz vor der Durchführung steht. Nach Abschluss des Tests sehen Sie die Testergebnisse.
Zusätzlich zum Ausführen des UTF im Wiedergabemodus im Unity-Editor ermöglicht ein neuer Anpassungspunkt die Ausführung auf Zielgeräten. Dieser wird vor der Erstellung des Players aufgerufen. Sie können die Optionen für die Erstellung des Players ändern, um z. B. die Einstellungen für den Testlauf zu ändern und die Erstellungsorte festzulegen.
Erstellung und Ausführung aufteilen
Die Aufteilung des Erstellungs- und Ausführungsprozesses ist nützlich, wenn Sie Tests auf einem Zielgerät ausführen möchten, das nicht an Ihren lokalen Rechner angeschlossen ist, z. B. wenn es sich in der Cloud befindet (oder mehrere Geräte in der Cloud sind).
Dazu müssen Sie zunächst den Erstellungsprozess des Test-Players selbst anpassen. So führen Sie diese Anpassung aus:
- Deaktivieren Sie die AutoRun-Funktion, sodass der Player nach der Erstellung nicht mehr startet und die Tests ausführt.
- Speichern Sie sie an einem bekannten Ort und nicht im temporären Ordner des Systems (wo sie standardmäßig gespeichert würde).
Fügen Sie dann benutzerdefinierte Ergebnisberichte auf der Player-Seite hinzu (unter Verwendung der Callback-Schnittstelle), um alle Ergebnisse zu erfassen und in einer XML-Datei oder einem anderen für Ihr Projekt geeigneten Format zu speichern.
In den folgenden Codebeispielen finden Sie Beispiele für die Aufteilung von Erstellung und Ausführung. In der Unite-Session (bei Minute 6:28) führt Richard Fine Sie Schritt für Schritt durch den Code für beide Teile dieser Anwendung – die Erstellung und den Ergebnisbericht.
Erstellung und Ausführung aufteilen: Erstellung
Erstellung:
Erstellung und Ausführung aufteilen: Ergebnis in der Ausführung speichern
Ausführung:
Ausführen von Tests vor dem Erstellen
Das Ausführen von Tests vor der Erstellung kann knifflig sein, da der Build-Prozess erfordert, dass die Tests über einen Callback ausgeführt werden, sodass es keine Möglichkeit gibt, die Engine-Updateschleife zu fördern. Aber der Vorteil ist, dass Sie überprüfen können, ob die Grundfunktionalität funktioniert, bevor Sie Zeit mit der eigentlichen Erstellung verbringen (was bei manchen Projekten viele Minuten dauern kann).
Sie können diese Anwendung über die Schnittstelle „IPreprocessBuildWithReport“ implementieren, genauso wie Sie jede andere Art der Build-Vorverarbeitung implementieren können. Um die Ergebnisse abzurufen, registrieren Sie wie gewohnt einen Callback.
Da Sie nicht mitten in einem Build in den Wiedergabemodus wechseln können, können Sie die Test Runner-API verwenden, um bestimmte Tests im Bearbeitungsmodus auszuführen. Sie können diese Tests durch Filtern nach Kategorie auswählen, z. B. nach einer vordefinierten Validierungstestkategorie. Sie können diese Tests synchron ausführen.
Sobald der Test beendet ist, überprüfen Sie die Ergebnisse. Wenn etwas fehlgeschlagen ist, können Sie eine BuildFailed-Ausnahme auslösen, wodurch der Erstellungsprozess abgebrochen wird.
Diese Anwendung lässt sich in zwei Teile unterteilen: den ResultCollector und den Preprocessor, die Richard Fine im Vortrag (bei Minute 15:20) näher erläutert.
Schauen Sie Christian Warnecke und Richard Fine bei der Live-Demo der Test Runner-API zu. Sehen Sie sich die gesamte Session an, um noch mehr Tipps zur Qualitätssicherung zu erhalten!