Struktur eines Test-Runners

Der Test-Runner ist die Ausführungseinheit des Aufrufablaufs. Hier werden die Tests tatsächlich ausgeführt.

Schnittstellen

Testläufer werden über die IRemoteTest-Schnittstelle definiert. Diese bietet eine einfache run-Methode, die implementiert werden kann und aufgerufen wird, wenn die Tests ausgeführt werden sollen.

Dies ermöglicht die einfachste Definition eines Testlaufs. In der Praxis benötigen Testautoren jedoch mehr Informationen, um ihre Tests richtig zu schreiben, in der Regel Build- und Geräteinformationen. Hier kommen die folgenden Schnittstellen ins Spiel.

Allgemein

Diese beiden Schnittstellen werden heute am häufigsten verwendet, da sie die grundlegenden Anforderungen der meisten Tests erfüllen.

  • Mit IBuildReceiver kann der Test das IBuildInfo-Objekt abrufen, das im Schritt BuildProvider erstellt wurde und alle Informationen und Artefakte zur Testeinrichtung enthält.
  • Mit IDeviceTest kann TF das ITestDevice-Objekt empfangen, das das zu testende Gerät darstellt, und eine API für die Interaktion damit bereitstellen.

Erweitert

Es gibt zusätzliche Schnittstellen, die eine komplexere Interaktion zwischen dem Test-Harness und dem Test-Runner ermöglichen:

  • ITestFilterReceiver, über den der Test nur eine Reihe von Filtern für bestimmte Tests erhält. Dies ist nützlich, wenn Sie einen Teil der Tests ausführen möchten.
  • ITestCollector, mit dem ein Test-Runner die Tests nur als Trockenlauf ausführen kann, anstatt sie tatsächlich auszuführen. Dies ist hilfreich, um eine Liste aller Testfälle zu erstellen.

Vorhandene Testläufer

Es gibt bereits eine Vielzahl von Testläufern, einige für die wichtigsten Testtypen:

Neben den oben genannten gibt es eine große Anzahl benutzerdefinierter Testläufer, die für bestimmte Funktionstests verwendet werden, z. B. Boot-Tests.

Neuen Test-Runner schreiben

Weitere Informationen zum Schreiben eines neuen Test-Runners finden Sie im Abschnitt Tests schreiben.