Platform için bir GoogleTest (GTest, bazen "yerel testler" olarak da adlandırılır) genellikle daha düşük düzeyli HAL'lere erişir veya çeşitli sistem hizmetlerine karşı ham IPC gerçekleştirir. Bu nedenle, test yaklaşımı genellikle test edilen hizmetle sıkı bir şekilde birleştirilir.
Sürekli test altyapısıyla entegrasyon için GTest çerçevesini kullanarak GTest'lerinizi oluşturun.
örnekler
İşte platform kaynağındaki bazı GTest örnekleri:
Adımların özeti
Örnek GTest modülü kurulumunu izleyin.
GTest bağımlılıklarını otomatik olarak dahil etmek için test modülü konfigürasyonunuzda
BUILD_NATIVE_TEST
oluşturma kuralını kullanın.Basit ve karmaşık seçenekler için örnekleri izleyerek bir test yapılandırması yazın.
Artımlı derlemeler için
mmm
veya tam derlemeler içinmma
ile test modülünü oluşturun:make hwui_unit_tests -j
Atest kullanarak testi yerel olarak çalıştırın:
atest hwui_unit_tests
GTest'lerinize bağımsız değişkenler de ekleyebilirsiniz. Aşağıdakiler özellikle faydalı argümanlardır:
-
native-test-flag
GTest kabuk komutuna iletilecek ek bayrak değerlerini belirtir. native-test-timeout
mikrosaniye cinsinden bir test zaman aşımı değeri belirtir.Aşağıdaki örnek kod, bu bağımsız değişkenlerin her ikisini de kullanır:
atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \ --module-arg test-name:native-test-timeout:60000
-
Testi Ticaret Federasyonu test donanımıyla çalıştırın:
make tradefed-all -j tradefed.sh run template/local_min --template:map test=hwui_unit_tests
Manuel olarak kurun ve çalıştırın:
Oluşturulan test ikilisini cihazınıza aktarın:
adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \ /data/nativetest/hwui_unit_tests/hwui_unit_tests
GTest'i başlatın ve cihazdaki test ikilisini çağırarak testi yürütün:
adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
Test yürütmeyi özelleştirme hakkında daha fazla bilgi için
--help
parametresini test ikili dosyanıza ekleyin. Parametreler hakkında daha fazla bilgi için GTest gelişmiş kılavuzuna bakın.