Tes Host JAR (Java)

Pengujian host JAR harus diterapkan untuk menyediakan cakupan kode lengkap perangkat lunak Anda. Ikuti petunjuk untuk Membangun pengujian unit lokal . Tulis tes unit kecil untuk memvalidasi fungsi tertentu dan tidak lebih.

Contoh

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

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

Sebuah snapshot dari file Blueprint disertakan di sini untuk kenyamanan:

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 tes host JAR. Lihat contoh penggunaannya di: frameworks/base/tools/powermodel/Android.bp

Pengaturan

Lihat di bawah untuk penjelasan pengaturan berikut:

  • Pengaturan name diperlukan ketika tipe modul java_test_host ditentukan (di awal blok). Pengaturan ini memberi nama untuk modul Anda, dan JAR yang dihasilkan memiliki nama yang sama dan akhiran .jar . Pada contoh di bawah, JAR pengujian yang dihasilkan diberi nama HelloWorldHostTest.jar . Selain itu, pengaturan ini juga menentukan nama target make untuk modul Anda, sehingga Anda dapat menggunakan make [options] <HelloWorldHostTest> untuk membangun modul pengujian Anda dan semua dependensinya.

    name: "HelloWorldHostTest",
    
  • Pengaturan test_suites membuat tes mudah ditemukan oleh test harness Trade Federation. Rangkaian pengujian lain dapat ditambahkan di sini, seperti CTS, sehingga pengujian pengujian host JAR dapat dibagikan.

    test_suites: ["general-tests"],
    
  • Pengaturan static_libs menginstruksikan sistem build untuk memasukkan konten modul bernama ke dalam APK yang dihasilkan dari modul saat ini. Artinya setiap modul yang diberi nama diharapkan menghasilkan file .jar . Konten modul digunakan untuk menyelesaikan referensi classpath selama waktu kompilasi dan dimasukkan ke dalam APK yang dihasilkan.

    static_libs: [
        "junit",
    ],