Yazılımınızın kod kapsamının tamamlanması için Java arşivi (JAR) ana makine testleri uygulanmalıdır. Yerel birim testleri oluşturma talimatlarını uygulayın. Belirli bir işlevi doğrulamak için küçük birim testleri yazın.
Örnek
Aşağıdaki Blueprint dosyası, kopyalayıp ihtiyaçlarınıza göre uyarlayabileceğiniz basit bir Hello World JAR ana makine testi örneği sunar: platform_testing/tests/example/jarhosttest/Android.bp
Bu, şu konumda bulunan gerçek test koduna karşılık gelir: platform_testing/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java
Kolaylık sağlamak için Blueprint dosyasının anlık görüntüsü aşağıda verilmiştir:
java_test_host {
name: "HelloWorldHostTest",
test_suites: ["general-tests"],
srcs: ["test/**/*.java"],
static_libs: [
"junit",
"mockito",
],
}
Başındaki java_test_host
ifadesi, bunun bir JAR ana makine testi olduğunu gösterir. Kullanım örneğini şu dosyada görebilirsiniz:
frameworks/base/tools/powermodel/Android.bp
Ayarlar
Aşağıdaki ayarların açıklamalarını inceleyin:
java_test_host
modül türü belirtildiğinde (bloğun başında)name
ayarı zorunludur. Bu ayar, modülünüze bir ad verir. Oluşan JAR, aynı ada ve.jar
sonekine sahiptir. Aşağıdaki örnekte,sonuçtaki test JAR'ının adıHelloWorldHostTest.jar
'dır. Ayrıca bu ayar, modülünüz için bir make hedef 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 Trade Federation test düzeneği tarafından kolayca bulunmasını sağlar. JAR ana makine testinin paylaşılabilmesi için CTS gibi başka test paketleri de buraya eklenebilir.test_suites: ["general-tests"],
static_libs
ayarı, derleme sistemine adlandırılmış modüllerin içeriklerini mevcut modülün sonuç APK'sına dahil etmesini bildirir. 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ırasında sınıf yolu referanslarını çözmek için kullanılır ve sonuçtaki APK'ya dahil edilir.static_libs: [ "junit", ],