Google Testi

Platforma yönelik bir GoogleTest (GTest, bazen "yerel testler" olarak da adlandırılır) genellikle düşük seviyeli 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

  1. Örnek GTest modülü kurulumunu uygulayın.

  2. 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.

  3. Basit ve karmaşık seçeneklerle ilgili örnekleri izleyerek bir test yapılandırması yazın.

  4. Artımlı derlemeler için mmm, tam derlemeler için mma ile test modülü oluşturun:

    make hwui_unit_tests -j
    
  5. 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 kod bu bağımsız değişkenlerin ikisini de kullanır:

      atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \
         --module-arg test-name:native-test-timeout:60000
      
  6. Ticaret Federasyonu test bandıyla testi çalıştırın:

    make tradefed-all -j
    tradefed.sh run template/local_min --template:map test=hwui_unit_tests
    
  7. Aşağıdakileri manuel olarak yükleyip çalıştırın:

    1. Oluşturulan test ikili programını cihazınıza aktarın:

       adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \
       /data/nativetest/hwui_unit_tests/hwui_unit_tests
      
    2. GTest'i başlatın ve cihazda test ikili programını çağırarak testi yürütün:

       adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
      

      Test yürütmesini özelleştirme hakkında daha fazla bilgi için test ikili programınıza --help parametresini ekleyin. Parametreler hakkında daha fazla bilgi için GTest gelişmiş kılavuzuna bakın.