Yazılımınızın tam kod kapsamını sağlamak için Java arşivi (JAR) ana bilgisayar testleri uygulanmalıdır. Yerel birim testleri oluşturma talimatlarını izleyin. Belirli bir işlevi doğrulamak için küçük birim testleri yazın, daha fazlasını değil.
Örnek
Aşağıdaki Blueprint dosyası, kopyalamanız ve ihtiyaçlarınıza göre uyarlamanız için basit bir Merhaba Dünya JAR ana bilgisayar testi örneği sağlar: platform_testing/tests/example/jarhosttest/Android.bp
Bu, şu adreste bulunan gerçek test koduna karşılık gelir: platform_testing/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java
Kolaylık olması açısından Blueprint dosyasının anlık görüntüsü buraya eklenmiştir:
java_test_host {
name: "HelloWorldHostTest",
test_suites: ["general-tests"],
srcs: ["test/**/*.java"],
static_libs: [
"junit",
"mockito",
],
}
Başlangıçtaki java_test_host
bildirimi bunun bir JAR ana bilgisayar testi olduğunu gösterir. Kullanımının bir örneğini şu adreste görebilirsiniz: frameworks/base/tools/powermodel/Android.bp
Ayarlar
Aşağıdaki ayarların açıklamaları için aşağıya bakın:
java_test_host
modül tipi belirtildiğinde (bloğun başlangıcında)name
ayarı gereklidir. Bu ayar modülünüze bir ad verir ve ortaya çıkan JAR aynı ada ve.jar
son ekine sahiptir. Aşağıdaki örnekte ortaya çıkan test JAR'ıHelloWorldHostTest.jar
olarak adlandırılmıştır. Ek olarak, bu ayar aynı zamanda modülünüz için bir make target adı da tanımlar; böylece test modülünüzü ve tüm bağımlılıklarını oluşturmak içinmake [options] <HelloWorldHostTest>
komutunu kullanabilirsiniz.name: "HelloWorldHostTest",
test_suites
ayarı, testin Ticaret Federasyonu test donanımı tarafından kolayca keşfedilmesini sağlar. JAR ana bilgisayar testi testinin paylaşılabilmesi için CTS gibi diğer test paketleri buraya eklenebilir.test_suites: ["general-tests"],
static_libs
ayarı, derleme sistemine, adlandırılmış modüllerin içeriğini geçerli modülün sonuçtaki APK'sına dahil etmesi talimatını verir. Bu, adlandırılmış her modülün bir.jar
dosyası oluşturmasının beklendiği anlamına gelir. Modülün içeriği derleme süresi boyunca sınıf yolu referanslarını çözümlemek için kullanılır ve ortaya çıkan APK'ya dahil edilir.static_libs: [ "junit", ],