JAR konak testleri

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ı, kopyalayıp 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şı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çin make [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",
    ],