Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Menambahkan Contoh Tes Asli Baru

Jika Anda baru dalam pengembangan platform Android, Anda mungkin menemukan contoh lengkap penambahan pengujian asli baru dari awal ini berguna untuk menunjukkan alur kerja tipikal yang terlibat. Selain itu, jika Anda juga terbiasa dengan kerangka gtest untuk C ++, harap tinjau lokasi proyek gtest untuk dokumentasi tambahan.

Panduan ini menggunakan tes berikut untuk dijadikan sebagai sampel:

Halo Tes Asli Dunia

Disarankan untuk menelusuri kode terlebih dahulu untuk mendapatkan kesan kasar sebelum melanjutkan.

Menentukan lokasi sumber

Biasanya tim Anda sudah memiliki pola tempat untuk memeriksa kode, dan tempat untuk menambahkan tes. Sebagian besar tim memiliki repositori git tunggal, atau berbagi satu dengan tim lain tetapi memiliki sub direktori khusus yang berisi kode sumber komponen.

Dengan asumsi lokasi root untuk sumber komponen Anda di <component source root> , sebagian besar komponen memiliki src dan tests folder di bawahnya, dan beberapa file tambahan seperti Android.mk (atau dipecah menjadi tambahan .bp file).

Karena Anda menambahkan tes baru, Anda mungkin perlu untuk membuat tests direktori samping komponen Anda src , dan mengisi dengan konten.

Dalam beberapa kasus, tim Anda mungkin memiliki struktur direktori lebih lanjut di bawah tests karena kebutuhan untuk paket suite berbeda dari tes ke binari individu. Dan dalam hal ini, Anda harus membuat sub direktori baru di bawah tests .

Untuk menggambarkan, inilah garis besar direktori khas untuk komponen dengan satu tests folder:

\
 <component source root>
  \-- Android.bp (component makefile)
  \-- AndroidTest.xml (test config file)
  \-- src (component source)
  |    \-- foo.cpp
  |    \-- ...
  \-- tests (test source root)
      \-- Android.bp (test makefile)
      \-- src (test source)
          \-- foo_test.cpp
          \-- ...

dan inilah garis besar direktori tipikal untuk komponen dengan beberapa direktori sumber pengujian:

\
 <component source root>
  \-- Android.bp (component makefile)
  \-- AndroidTest.xml (test config file)
  \-- src (component source)
  |    \-- foo.cpp
  |    \-- ...
  \-- tests (test source root)
      \-- Android.bp (test makefile)
      \-- testFoo (sub test source root)
      |   \-- Android.bp (sub test makefile)
      |   \-- src (sub test source)
      |       \-- test_foo.cpp
      |       \-- ...
      \-- testBar
      |   \-- Android.bp
      |   \-- src
      |       \-- test_bar.cpp
      |       \-- ...
      \-- ...

Terlepas dari struktur, Anda akan berakhir mempopulasikan tests direktori atau sub direktori yang baru dibuat dengan file yang mirip dengan apa yang ada di native direktori dalam perubahan Gerrit sampel. Bagian di bawah ini akan menjelaskan detail lebih lanjut dari setiap file.

Kode sumber

Lihat Hello World asli Uji untuk contoh.

Kode sumber beranotasi tercantum di bawah ini:

#include <gtest/gtest.h>

File header termasuk untuk gtest. Perhatikan bahwa include file dependensi secara otomatis diselesaikan dengan menggunakan BUILD_NATIVE_TEST dalam makefile

#include <stdio.h>

TEST(HelloWorldTest, PrintHelloWorld) {
    printf("Hello, World!");
}

gtests ditulis dengan menggunakan TEST makro: parameter pertama adalah nama ujian, dan yang kedua adalah nama uji; bersama dengan nama biner uji, mereka membentuk hierarki di bawah ini ketika divisualisasikan di dasbor hasil:

<test binary 1>
| \-- <test case 1>
| |   \-- <test 1>
| |   \-- <test 2>
| |   \-- ...
| \-- <test case 2>
| |   \-- <test 1>
| |   \-- ...
| \-- ...
<test binary 2>
|
...

Untuk informasi lebih lanjut tentang menulis tes dengan gtest, lihat dokumentasinya:

  • https://github.com/google/googletest/blob/master/googletest/docs/Primer.md

File konfigurasi sederhana

Setiap modul pengujian baru harus memiliki file konfigurasi untuk mengarahkan sistem pembangunan dengan metadata modul, dependensi waktu kompilasi, dan instruksi pengemasan. Dalam kebanyakan kasus, opsi file Blueprint berbasis Soong sudah cukup. Lihat Sederhana Uji Konfigurasi untuk rincian.

File konfigurasi kompleks

Untuk menggunakan Federasi Perdagangan sebaliknya, menulis file konfigurasi tes untuk Android memanfaatkan tes, Federasi Perdagangan .

Konfigurasi pengujian dapat menentukan opsi pengaturan perangkat khusus dan argumen default untuk memasok kelas pengujian.

Bangun dan uji secara lokal

Untuk sebagian besar kasus penggunaan umum, mempekerjakan atest .

Untuk kasus yang lebih kompleks yang membutuhkan kustomisasi lebih berat, ikuti petunjuk instrumentasi .