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 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çin make [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",
    ],