Pengujian host arsip Java (JAR) harus diterapkan untuk memberikan cakupan kode lengkap software Anda. Ikuti petunjuk untuk Mem-build pengujian unit lokal. Tulis pengujian unit kecil untuk memvalidasi fungsi tertentu dan tidak lebih.
Contoh
File Blueprint berikut memberikan 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 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 pengujian host JAR. Lihat contoh penggunaannya di:
frameworks/base/tools/powermodel/Android.bp
Setelan
Lihat di bawah untuk mengetahui penjelasan setelan berikut:
Setelan
name
diperlukan saat jenis moduljava_test_host
ditentukan (di awal blok). Setelan ini memberi nama pada modul Anda, dan JAR yang dihasilkan memiliki nama yang sama dan akhiran.jar
. Dalam contoh di bawah,JAR pengujian yang dihasilkan diberi namaHelloWorldHostTest.jar
. Selain itu, setelan ini juga menentukan nama target pembuatan untuk modul Anda, sehingga Anda dapat menggunakanmake [options] <HelloWorldHostTest>
untuk mem-build modul pengujian dan semua dependensinya.name: "HelloWorldHostTest",
Setelan
test_suites
membuat pengujian mudah ditemukan oleh harness pengujian Trade Federation. Test suite lain dapat ditambahkan di sini, seperti CTS, sehingga pengujian host JAR dapat dibagikan.test_suites: ["general-tests"],
Setelan
static_libs
menginstruksikan sistem build untuk menggabungkan konten modul yang dinamai ke dalam APK yang dihasilkan dari modul saat ini. Artinya, setiap modul yang diberi nama diharapkan akan menghasilkan file.jar
. Konten modul digunakan untuk menyelesaikan referensi classpath selama waktu kompilasi dan dimasukkan ke dalam APK yang dihasilkan.static_libs: [ "junit", ],