GoogleTest

GoogleTest (GTest, terkadang juga disebut "pengujian native") untuk platform biasanya mengakses HAL tingkat bawah atau melakukan IPC mentah terhadap berbagai layanan sistem. Oleh karena itu, pendekatan pengujian biasanya terkait erat dengan layanan yang sedang diuji.

Untuk berintegrasi dengan infrastruktur pengujian berkelanjutan, bangun GTest Anda menggunakan framework GTest.

Contoh

Berikut beberapa contoh GTest di sumber platform:

Ringkasan langkah

  1. Ikuti contoh penyiapan modul GTest.

  2. Untuk menyertakan dependensi GTest secara otomatis, gunakan aturan build BUILD_NATIVE_TEST dalam konfigurasi modul pengujian Anda.

  3. Tulis konfigurasi pengujian, dengan mengikuti contoh untuk opsi sederhana dan kompleks.

  4. Bangun modul pengujian dengan mmm untuk build inkremental, atau mma untuk build lengkap:

    make hwui_unit_tests -j
    
  5. Jalankan pengujian secara lokal menggunakan Atest:

      atest hwui_unit_tests
    

    Anda juga dapat menambahkan argumen ke GTest. Berikut adalah argumen yang sangat berguna:

    • native-test-flag menentukan nilai flag tambahan yang akan diteruskan ke perintah shell GTest.
    • native-test-timeout menentukan nilai waktu tunggu pengujian dalam mikrodetik.

      Contoh kode berikut menggunakan kedua argumen ini:

      atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \
         --module-arg test-name:native-test-timeout:60000
      
  6. Jalankan pengujian dengan harness pengujian Trade Federation:

    make tradefed-all -j
    tradefed.sh run template/local_min --template:map test=hwui_unit_tests
    
  7. Menginstal dan menjalankan secara manual:

    1. Kirim biner pengujian yang dihasilkan ke perangkat Anda:

       adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \
       /data/nativetest/hwui_unit_tests/hwui_unit_tests
      
    2. Luncurkan GTest dan jalankan pengujian dengan memanggil biner pengujian di perangkat:

       adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
      

      Untuk mengetahui informasi selengkapnya tentang menyesuaikan eksekusi pengujian, tambahkan parameter --help ke biner pengujian Anda. Untuk mengetahui informasi selengkapnya tentang parameter, lihat panduan lanjutan GTest.