W tej sekcji wyjaśniono, jak przeprowadzić testy Federacji Handlowej i wziąć w nich udział po wprowadzeniu zmian w projekcie. To zawiera:
- Gdzie dodać nowe klasy testów jednostkowych
- Uruchamianie testów jednostkowych w Eclipse i poza Eclipse IDE
- Gdzie dodać testy funkcjonalne
- Przeprowadzanie testów funkcjonalnych
- Lokalnie uruchamiam część weryfikacji wstępnego przesłania TF
Dodaj testy jednostkowe
W projekcie Android Open Source Project (AOSP) dodaj klasę testów jednostkowych w: Tools/tradefederation/core/tests/src/com/android/tradefed/UnitTests.java
WAŻNE: Dodanie nowych klas testów jednostkowych do tych lokalizacji spowoduje ich automatyczne uruchomienie przed przesłaniem, bez dodatkowej konfiguracji.
Uruchom testy jednostkowe
Wszystkie testy jednostkowe i funkcjonalne AOSP dla Federacji Handlowej znajdują się w projekcie tools/tradefederation/core/tests
.
Aby uruchomić indywidualny test jednostkowy w środowisku Eclipse, wystarczy kliknąć test prawym przyciskiem myszy i wybrać opcję Uruchom jako > JUnit . Aby uruchomić wszystkie testy jednostkowe, uruchom pakiet com.android.tradefed.UnitTests .
Możesz także rozpocząć test jednostkowy z wiersza poleceń w drzewie źródłowym Tradefed po zbudowaniu, w następujący sposób: tools/tradefederation/core/javatests/run_tradefed_tests.sh
Testy jednostkowe można wykonać samodzielnie, ale testy funkcjonalne należy wykonać przy użyciu samej Federacji Handlowej; wymagają urządzenia z Androidem. Wszystkie testy funkcjonalne powinny być zgodne z konwencją nazewnictwa *FuncTest
.
Sprawdź wyniki testów jednostkowych
Podczas uruchamiania run_tradefed_tests.sh
testy jednostkowe ćwiczą wszystkie części wiązki testowej, łącznie z pewnymi warunkami błędów. Wydrukuje szczegółowe dane wyjściowe na konsoli, łącznie ze śladami stosu.
Ostateczne podsumowanie wyników wskaże, czy wystąpiła awaria, czy nie.
Przykładowe podsumowanie końcowe w konsoli:
12:55:02 ========== Result Summary ==========
Results summary for test-tag 'TFUnitTests': 3355 Tests [3355 Passed]
Wszystkie testy są pomyślnie zaliczone, więc jeśli wystąpi jakakolwiek awaria na Twojej lokalnej zmianie, upewnij się, że testy zostały naprawione.
Dodaj testy funkcjonalne
Jeśli test funkcjonalny obejmuje urządzenie (wykorzystuje dowolny interfejs API
ITestDevice
), definicja pakietu znajduje się wcom.android.tradefed.DeviceFuncTests
. W przeciwnym razie definicja pakietu znajduje się wcom.android.tradefed.FuncTests
.Jeśli Twoje metody testowe mają sens, aby umieścić je w jednej z istniejących podklas pakietu, wolisz ją tam dodać. W przeciwnym razie możesz dodać nową klasę do odpowiedniego pakietu.
W obu przypadkach po dodaniu go do pakietu test zostanie automatycznie uruchomiony w potoku CI wraz z innymi testami funkcjonalnymi.
Uruchom testy funkcjonalne
Aby uruchomić test funkcjonalny z Eclipse:
- Upewnij się, że urządzenie jest podłączone do hosta i że
adb
i, jeśli to konieczne,fastboot
znajdują się w ścieżce Eclipse. Najłatwiej to zrobić, uruchamiając Eclipse z poziomu konfiguracji powłoki z odpowiednią ścieżką PATH. - Utwórz aplikację w Javie. Uruchom konfigurację poprzez Uruchom > Uruchom konfiguracje .
- Ustaw projekt na
tradefed-tests
, a klasę główną nacom.android.tradefed.command.CommandRunner
. - Uruchom
m tradefed-all
. - Podaj następujące argumenty wiersza poleceń na karcie Argumenty :
host --class <full path of test class to run>
- Kliknij Uruchom .
Aby uruchomić testy funkcjonalne poza Eclipse.
- Zbuduj Federację Handlową.
- Połącz urządzenie z Androidem z hostem.
- Uruchom
tools/tradefederation/core/javatests/run_tradefed_func_tests.sh
- Opcjonalnie wybierz urządzenie, dodając
--serial <serial no>
tak, jak pojawia się na wyjściuadb devices
.
Przeprowadź wstępne testy przesyłania TF pod kątem lokalnych zmian
Jeśli chcesz działać w podobny sposób jak wstępne przesłanie TF, użyj tego:
tools/tradefederation/core/javatests/run_tradefed_aosp_presubmit.sh
Spowoduje to uruchomienie wszystkich testów wstępnego przesłania TF względem lokalnie zbudowanego TF, aby pomóc Ci sprawdzić, czy Twoja zmiana nie psuje żadnych testów.
Testy wstępne TF stanowią nadzbiór powyższych testów jednostkowych, ale ich uruchomienie jest wolniejsze. Dlatego zaleca się uruchomienie testów jednostkowych podczas programowania w celu szybszej walidacji i uruchomienie wstępnych zgłoszeń przed przesłaniem CL.