GoogleTest

Platform için bir GoogleTest (GTest, bazen "yerel testler" olarak da adlandırılır) genellikle daha düşük düzeydeki 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ğlantılıdır.

Sürekli test altyapısıyla entegrasyon için GTest çerçevesini kullanarak GTest'lerinizi oluşturun.

Örnekler

Platform kaynağındaki GTest örneklerinden bazıları:

Adımların özeti

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

  2. GTest bağımlılıklarını otomatik olarak eklemek için test modülü yapılandırmanızda BUILD_NATIVE_TEST build kuralını kullanın.

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

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

    make hwui_unit_tests -j
    
  5. Atest'i kullanarak testi yerel olarak çalıştırın:

      atest hwui_unit_tests
    

    GTest'lerinize argüman da ekleyebilirsiniz. Aşağıdaki argümanlar özellikle yararlıdır:

    • 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 bağımsız değişkenlerin 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
      
  6. Testi Ticaret Federasyonu test düzeneğiyle çalıştırın:

    make tradefed-all -j
    tradefed.sh run template/local_min --template:map test=hwui_unit_tests
    
  7. Manuel olarak yükleyip çalıştırma:

    1. 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
      
    2. GTest'i başlatın ve cihazdaki test ikili dosyasını ç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 test ikilinize --help parametresini ekleyin. Parametreler hakkında daha fazla bilgi için GTest gelişmiş kılavuzu'na bakın.