JAR ana makine testleri

Yazılımınızın kod kapsamını eksiksiz hale getirmek 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 ve başka hiçbir şeyi doğrulamak için küçük birim testleri yazın.

Örnek

Aşağıdaki Blueprint dosyasında, kopyalayıp ihtiyaçlarınıza göre uyarlayabileceğiniz basit bir Hello World JAR ana makine testi örneği verilmiştir: 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ü buraya eklenmiştir:

java_test_host {
    name: "HelloWorldHostTest",

    test_suites: ["general-tests"],

    srcs: ["test/**/*.java"],

    static_libs: [
        "junit",
        "mockito",
    ],
}

Başındaki java_test_host beyanı, bunun bir JAR ana makine testi olduğunu gösterir. Bu işlevin kullanımına dair bir örnek için: frameworks/base/tools/powermodel/Android.bp

Ayarlar

Aşağıdaki ayarların açıklamalarını aşağıda bulabilirsiniz:

  • 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. Sonuç olarak oluşturulan JAR dosyası aynı ada ve .jar son ekine sahiptir. Aşağıdaki örnekte,oluşturulan test JAR'ı HelloWorldHostTest.jar olarak adlandırılmıştır. Ayrıca, bu ayar modülünüz için bir yapma hedefi 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> öğesini kullanabilirsiniz.

    name: "HelloWorldHostTest",
    
  • test_suites ayarı, testi Trade Federation test aparatı tarafından kolayca bulunabilir hale getirir. JAR ana makine test 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çeriklerini mevcut modülün oluşturulan APK'sına dahil etmesini söyler. Bu, her adlandırılmış modülün bir .jar dosyası oluşturması gerektiğ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 oluşturulan APK'ya dahil edilir.

    static_libs: [
        "junit",
    ],