Platform için GoogleTest (GTest, bazen "yerel testler" olarak da adlandırılır), genellikle alt düzey 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 bağlanır.
Sürekli test altyapısıyla entegrasyon için GTest çerçevesini kullanarak GTest'lerinizi oluşturun.
Örnekler
Platform kaynağındaki GTest örneklerini aşağıda bulabilirsiniz:
Adımların özeti
Örnek GTest modülü kurulumunu uygulayın.
GTest bağımlılıkları otomatik olarak dahil etmek için test modülü yapılandırmanızda
BUILD_NATIVE_TEST
derleme kuralını kullanın.Basit ve karmaşık seçeneklerle ilgili örnekleri izleyerek bir test yapılandırması yazın.
Artımlı derlemeler için
mmm
, tam derlemeler içinmma
ile test modülü oluşturun:make hwui_unit_tests -j
Atest'i kullanarak testi yerel olarak çalıştırın:
atest hwui_unit_tests
GTests'inize bağımsız değişkenler de ekleyebilirsiniz. Aşağıdakiler özellikle yararlı bağımsız değişkenlerdir:
native-test-flag
, GTest kabuk komutuna iletilecek ek işaret değerlerini belirtir.native-test-timeout
, mikrosaniye cinsinden bir test zaman aşımı değeri belirtir.Aşağıdaki örnek kodda bu iki bağımsız değişkenin her ikisi de kullanılmaktadır:
atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \ --module-arg test-name:native-test-timeout:60000
Testi Trade Federation test aparatıyla çalıştırın:
make tradefed-all -j tradefed.sh run template/local_min --template:map test=hwui_unit_tests
Aşağıdakileri manuel olarak yükleyip ç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 cihazda 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 ikilinize ekleyin. Parametreler hakkında daha fazla bilgi için GTest gelişmiş kılavuzuna bakın.