In diesem Abschnitt wird erläutert, wie Sie die Handelsföderation-Tests durchführen und daran teilnehmen können. nachdem Sie eine Änderung am Projekt vorgenommen haben. Sie beinhalten die folgenden Funktionen:
- Wo sollen die neuen Einheitentestklassen hinzugefügt werden?
- Ausführen von Einheitentests in Eclipse und außerhalb der Eclipse-IDE
- Wo Funktionstests hinzugefügt werden
- Funktionstests ausführen
- Einige der TF Presubmit-Validierungen lokal ausführen
Einheitentests hinzufügen
Fügen Sie im Android Open Source Project (AOSP) die Klasse für Einheitentests hier hinzu: tools/tradefederation/core/tests/src/com/android/tradefed/UnitTests.java
WICHTIG: Wenn Sie Ihre neuen Einheitentestklassen an diesen Orten hinzufügen, werden und werden ohne zusätzliche Einrichtung automatisch als Vorab-Übermittlung ausgeliefert.
Einheitentests ausführen
Alle AOSP-Einheiten- und Funktionstests für die Handelsföderation befinden sich in
die
tools/tradefederation/core/tests
Projekt arbeiten.
Um in Eclipse einen einzelnen Unittest durchzuführen, klicken Sie einfach mit der rechten Maustaste auf den Test und wählen Sie Ausführen als > JUnit. Um alle Einheitentests auszuführen, führen Sie den com.android.tradefed.UnitTests-Suite.
Sie können den Einheitentest auch über die Befehlszeile in der Tradefed-Quelle starten
Baum nach dem Bauen:
tools/tradefederation/core/javatests/run_tradefed_tests.sh
Einheitentests können eigenständig ausgeführt werden, Funktionstests sollten jedoch ausgeführt werden
durch die Nutzung der Handelsföderation selbst; benötigen sie ein Android-Gerät. Alle Funktionen
Die Tests sollten der Namenskonvention *FuncTest
entsprechen.
Ergebnisse von Unittests prüfen
Beim Ausführen von run_tradefed_tests.sh
werden bei den Einheitentests alle Teile von
und einige Fehlerbedingungen enthält. Es wird eine ausführliche Ausgabe ausgegeben.
an die Konsole gesendet, einschließlich Stacktraces.
Die abschließende Zusammenfassung der Ergebnisse gibt an, ob ein Fehler aufgetreten ist oder nicht.
Beispiel für eine abschließende Zusammenfassung in der Konsole:
12:55:02 ========== Result Summary ==========
Results summary for test-tag 'TFUnitTests': 3355 Tests [3355 Passed]
Alle Tests bleiben bestehen, sodass bei einem Fehler bei der lokalen Änderung ein Fehler auftritt. stellen Sie sicher, dass die Tests behoben sind.
Funktionstests hinzufügen
Wenn dein Funktionstest ein Gerät (verwendet eine beliebige
ITestDevice
API) umfasst, gilt Folgendes: Suite-Definition befindet sich incom.android.tradefed.DeviceFuncTests
. Andernfalls befindet sich die Suitedefinition incom.android.tradefed.FuncTests
.Wenn es sinnvoll ist, eine der bestehenden Unterklassen der Suite hinzuzufügen, fügen Sie es lieber dort ein. Andernfalls können Sie dem entsprechenden
In beiden Fällen wird der Test automatisch ausgeführt, wenn Sie ihn der Suite hinzufügen. in der CI-Pipeline mit den anderen Funktionstests.
Funktionstests ausführen
So führen Sie einen Funktionstest in Eclipse aus:
- Prüfen Sie, ob ein Gerät mit dem Host verbunden ist und ob
adb
und falls nötigfastboot
befinden sich im PATH von Eclipse. Am einfachsten geht das, indem Sie Eclipse über eine Shell-Einrichtung mit dem richtigen PATH ausführen. - Java-Anwendung erstellen Führen Sie die Konfiguration über Ausführen > Ausführen Konfigurationen
- Legen Sie für das Projekt
tradefed-tests
und für die Hauptklasse fest:com.android.tradefed.command.CommandRunner
. - Führen Sie
m tradefed-all
aus. - Geben Sie auf dem Tab Argumente die folgenden Befehlszeilenargumente an:
host --class <full path of test class to run>
- Klicken Sie auf Ausführen.
Ausführen von Funktionstests außerhalb von Eclipse
- Gewerkschaftsföderation aufbauen.
- Verbinden Sie ein Android-Gerät mit dem Host.
tools/tradefederation/core/javatests/run_tradefed_func_tests.sh
ausführen- Optional können Sie das Gerät auswählen, indem Sie
--serial <serial no>
als folgendes Element anhängen: wird in der Ausgabe vonadb devices
angezeigt.
TF-Voreinreichungstests mit lokalen Änderungen durchführen
Wenn Sie eine ähnliche Ausführung wie bei der TF-Voreinreichung wünschen, verwenden Sie Folgendes:
tools/tradefederation/core/javatests/run_tradefed_aosp_presubmit.sh
Dadurch werden alle TF-Presubmit-Tests für Ihre lokal erstellte TF ausgelöst, können Sie überprüfen, ob Ihre Änderung keinen Testfehler darstellt.
TF-Voreinreichungstests sind eine Obermenge der obigen Einheitentests, aber es dauert länger, und führen sie aus. Es empfiehlt sich daher, die Einheitentests während der Entwicklung schnellere Validierung und führt die Vorabsendungen vor dem Hochladen des CL aus.