JAR (Java) Ana Bilgisayar Testleri

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öylece make [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",
    ],