GoogleTest (GTest, czasami nazywany też „testem natywnym”) dla platformy zwykle uzyskuje dostęp do HAL-i niskiego poziomu lub wykonuje bezpośrednie wywołania interfejsu IPC do różnych usług systemowych. Z tego powodu podejście do testowania jest zwykle ściśle powiązane z usługą, która jest testowana.
Aby zintegrować się z infrastrukturą ciągłego testowania, twórz testy GTest za pomocą frameworka GTest.
Przykłady
Oto kilka przykładów GTest w źródle platformy:
Podsumowanie kroków
Aby automatycznie uwzględniać zależności GTest, użyj reguły kompilacji
BUILD_NATIVE_TEST
w konfiguracji modułu testu.Stwórz konfigurację testową, korzystając z przykładów prostych i złożonych opcji.
Utwórz moduł testowy za pomocą polecenia
mmm
w przypadku kompilacji przyrostowych lubmma
w przypadku kompilacji pełnych:make hwui_unit_tests -j
Uruchom test lokalnie za pomocą Atest:
atest hwui_unit_tests
Możesz też dodawać argumenty do testów GTest. Szczególnie przydatne są te argumenty:
native-test-flag
określa dodatkowe wartości flagi, które mają zostać przekazane do polecenia powłoki GTest.native-test-timeout
określa wartość czasu oczekiwania na test w mikrosekundach.Ten przykładowy kod używa obu tych argumentów:
atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \ --module-arg test-name:native-test-timeout:60000
Przeprowadź test za pomocą narzędzia Trade Federation:
make tradefed-all -j tradefed.sh run template/local_min --template:map test=hwui_unit_tests
Ręczne instalowanie i uruchamianie:
Prześlij wygenerowany binarny plik testowy na urządzenie:
adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \ /data/nativetest/hwui_unit_tests/hwui_unit_tests
Uruchom GTest i wykonaj test, wywołując testowy plik binarny na urządzeniu:
adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
Aby dowiedzieć się więcej o dostosowywaniu wykonywania testów, dodaj parametr
--help
do testowego pliku binarnego. Więcej informacji o parametrach znajdziesz w przewodniku po zaawansowanych funkcjach usługi GTest.