Pengujian host JAR

Pengujian host arsip Java (JAR) harus diterapkan untuk memberikan cakupan kode lengkap software Anda. Ikuti petunjuk untuk Membuat unit lokal pengujian. Tulis pengujian unit kecil untuk memvalidasi fungsi tertentu dan tidak lebih.

Contoh

File Cetak Biru berikut memberikan contoh pengujian host Hello World JAR sederhana untuk disalin dan disesuaikan dengan kebutuhan Anda: platform_testing/tests/example/jarhosttest/Android.bp

Ini sesuai dengan kode pengujian sebenarnya yang ditemukan di: platform_testing/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java

Snapshot file Blueprint disertakan di sini untuk memudahkan:

java_test_host {
    name: "HelloWorldHostTest",

    test_suites: ["general-tests"],

    srcs: ["test/**/*.java"],

    static_libs: [
        "junit",
        "mockito",
    ],
}

Deklarasi java_test_host di awal menunjukkan bahwa ini adalah JAR pengujian {i>host<i}. Lihat contoh penggunaannya di: frameworks/base/tools/powermodel/Android.bp

Setelan

Lihat di bawah untuk penjelasan tentang setelan berikut:

  • Setelan name diperlukan saat jenis modul java_test_host yang ditentukan (di awal blok). Setelan ini memberi nama pada modul Anda, dan JAR yang dihasilkan memiliki nama yang sama dan akhiran .jar. Di kolom contoh di bawah ini,JAR pengujian yang dihasilkan diberi nama HelloWorldHostTest.jar. Di beberapa Selain itu, setelan ini juga menentukan nama target {i>make<i} untuk modul Anda, jadi Anda dapat menggunakan make [options] <HelloWorldHostTest> untuk membuat pengujian modul dan semua dependensinya.

    name: "HelloWorldHostTest",
    
  • Setelan test_suites membuat pengujian mudah ditemukan oleh harness pengujian Trade Federation. Paket pengujian lainnya dapat ditambahkan di sini, seperti CTS, sehingga tes {i>host<i} JAR dapat dibagikan.

    test_suites: ["general-tests"],
    
  • Setelan static_libs menginstruksikan sistem build untuk menyertakan isi modul bernama ke dalam APK yang dihasilkan dari modul saat ini. Ini berarti setiap modul bernama diharapkan menghasilkan file .jar. Konten modul digunakan untuk me-resolve referensi classpath selama waktu kompilasi dan dimasukkan ke dalam APK yang dihasilkan.

    static_libs: [
        "junit",
    ],