Uwzględnij testy jednostkowe i funkcjonalne

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 lokalizacji com.android.tradefed.DeviceFuncTests. W przeciwnym razie definicja pakietu znajduje się w regionie com.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:

  1. Upewnij się, że urządzenie jest połączone z hostem oraz że adb i w razie potrzeby fastboot 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.
  2. Utworzenie aplikacji w Javie. Uruchom konfigurację przez Uruchom > Bieganie konfiguracji.
  3. Ustaw projekt na tradefed-tests, a klasę główną na com.android.tradefed.command.CommandRunner
  4. Uruchom m tradefed-all.
  5. Na karcie Argumenty podaj te argumenty wiersza poleceń: host --class <full path of test class to run>
  6. Kliknij Uruchom.

Aby uruchomić testy funkcjonalne poza Eclipse.

  1. Zbuduj federację handlową.
  2. Połącz urządzenie z Androidem z hostem.
  3. Uruchom: tools/tradefederation/core/javatests/run_tradefed_func_tests.sh
  4. Opcjonalnie wybierz urządzenie, dołączając do niego --serial <serial no> jest widoczny w danych wyjściowych adb 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.