JAR ana bilgisayar testleri, yazılımınızın tam kod kapsamını sağlamak için uygulanmalıdır. Yerel birim testleri oluşturmak için yönergeleri izleyin. Daha fazlasını değil, belirli bir işlevi doğrulamak için küçük birim testleri yazın.
Örnek
Aşağıdaki Blueprint dosyası, ihtiyaçlarınıza göre kopyalamak ve uyarlamak için basit bir Hello World 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 sağlamak için Blueprint dosyasının bir 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 belirtir. Kullanımıyla ilgili bir örneğe bakın: 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 türü belirtildiğinde (bloğun başında)name
ayarı gereklidir. Bu ayar, modülünüze bir ad verir ve ortaya çıkan JAR, aynı ada ve bir.jar
sonekine sahiptir. Aşağıdaki örnekte, ortaya çıkan test JAR'ıHelloWorldHostTest.jar
olarak adlandırılmıştır. Ek olarak, bu ayar ayrıca modülünüz için bir make hedef adı tanımlar, böylecemake [options] <HelloWorldHostTest>
test modülünüzü ve tüm bağımlılıklarını oluşturmak için kullanabilirsiniz.name: "HelloWorldHostTest",
test_suites
ayarı, testin Trade Federation test donanımı tarafından kolayca keşfedilmesini sağlar. JAR ana bilgisayar test testinin paylaşılabilmesi için CTS gibi diğer test takımları 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ç 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ı çözmek için kullanılır ve nihai APK'ye dahil edilir.static_libs: [ "junit", ],