JAR ana makine testleri

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 bildirimi, 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:

  • name ayarı, java_test_host modül türü belirtildiğinde (bloğun başında) 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çin make [options] <HelloWorldHostTest> komutunu kullanabilirsiniz.

    name: "HelloWorldHostTest",
    
  • test_suites ayarı, testin Ticaret Federasyonu test bandı tarafından kolayca bulunmasını sağlar. JAR ana makine testi testinin paylaşılabilmesi için buraya CTS gibi başka test paketleri de 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 etme talimatı 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ırasında sınıf yolu referanslarını çözmek için kullanılır ve sonuçtaki APK'ya dahil edilir.

    static_libs: [
        "junit",
    ],