Z tej sekcji dowiesz się, jak przeprowadzać testy Federacji Handlowej i w nich uczestniczyć. po wprowadzeniu zmian w projekcie. Przykładowe zabezpieczenia:
- Gdzie dodać nowe klasy testu jednostkowego
- Przeprowadzanie testów jednostkowych w Eclipse i poza IDE Eclipse
- Gdzie dodać testy funkcjonalne
- Przeprowadzanie testów funkcjonalnych
- Lokalne przeprowadzanie części weryfikacji przed przesłaniem plików 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: aby je automatycznie uruchomić przed przesłaniem bez dodatkowej konfiguracji.
Przeprowadzanie testów jednostkowych
Wszystkie testy jednostkowe i testowe funkcjonalne AOSP przeznaczone dla federacji handlowej znajdują się w
tools/tradefederation/core/tests
w projektach AI.
Aby uruchomić test jednostkowy, kliknij prawym przyciskiem myszy wybierz Uruchom jako > JUnit Aby uruchomić wszystkie testy jednostkowe, uruchom com.android.tradefed.UnitTests.
Test jednostkowy możesz też rozpocząć z wiersza poleceń w źródle Tradefed
drzewo po zbudowaniu, na przykład:
tools/tradefederation/core/javatests/run_tradefed_tests.sh
Testy jednostkowe mogą być wykonywane niezależnie, ale testy funkcjonalne należy przeprowadzać
korzystając z samej federacji handlowej; wymagają urządzenia z Androidem. Wszystko działa
powinny być zgodne z konwencją nazewnictwa *FuncTest
.
Sprawdzanie wyników testów jednostkowych
Gdy uruchamiasz funkcję run_tradefed_tests.sh
, testy jednostkowe uwzględniają wszystkie części
za pomocą jarzma testowego, w tym niektórych błędów. Wyświetli szczegółowe dane wyjściowe
łącznie ze zrzutami stosu.
Ostateczne podsumowanie wyników wskaże, czy wystąpił błąd.
Przykład ostatecznego podsumowania w konsoli:
12:55:02 ========== Result Summary ==========
Results summary for test-tag 'TFUnitTests': 3355 Tests [3355 Passed]
Wszystkie testy muszą zakończyć się powodzeniem, więc jeśli w ramach zmiany lokalnej wystąpią błędy sprawdź, czy testy nie zostały rozwiązane.
Dodaj testy funkcjonalne
Jeśli test funkcjonalny obejmuje urządzenie (z wykorzystaniem dowolnego interfejsu API
ITestDevice
), definicja apartamentu znajduje się w lokalizacjicom.android.tradefed.DeviceFuncTests
. W przeciwnym razie definicja pakietu znajduje się w regioniecom.android.tradefed.FuncTests
.Jeśli Twoje metody testowe warto zastosować w jednej z istniejących podklasy pakietu, który użytkownik chce tam dodać. W przeciwnym razie możesz dodać nowe zajęcia do odpowiednich .
W obu przypadkach po dodaniu go do pakietu test zostanie uruchomiony automatycznie w potoku CI z innymi testami funkcjonalnymi.
Przeprowadzanie testów funkcjonalnych
Aby uruchomić test funkcjonalny w Eclipse:
- Upewnij się, że urządzenie jest połączone z hostem oraz że
adb
i w razie potrzebyfastboot
znajdują się w ścieżce Eclipse. Najłatwiej to zrobić, uruchamiając Wyeliminuj z konfiguracji powłoki z użyciem właściwej ścieżki PATH. - Utworzenie aplikacji w Javie. Uruchom konfigurację przez Uruchom > Bieganie konfiguracji.
- Ustaw projekt na
tradefed-tests
, a klasę główną nacom.android.tradefed.command.CommandRunner
- Uruchom
m tradefed-all
. - Na karcie Argumenty podaj te argumenty wiersza poleceń:
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, dołączając do niego
--serial <serial no>
jest widoczny w danych wyjściowychadb devices
.
Przeprowadzanie testów wstępnego przesyłania plików TF pod kątem zmian lokalnych
Jeśli chcesz wygenerować plik w sposób podobny do wstępnego przesyłania plików TF, użyj następującego polecenia:
tools/tradefederation/core/javatests/run_tradefed_aosp_presubmit.sh
Spowoduje to aktywowanie wszystkich testów przed przesłaniem plików TF w odniesieniu do lokalnego kompilowanego pliku TF pozwoli Ci upewnić się, że wprowadzone zmiany nie naruszają żadnych testów.
Testy wstępnego przesyłania plików TF stanowią element nadrzędnych powyższych testów jednostkowych, ale ich wykonanie jest wolniejsze i je uruchamiać. Zalecamy więc uruchamianie testów jednostkowych na etapie programowania aby przyspieszyć weryfikację i uruchomić przesyłanie wstępne przed przesłaniem listy zmian.