JAR ana makine testleri

Eksiksiz kod sağlamak için Java arşivi (JAR) ana makine testleri uygulanmalıdır kapsayabilir. 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ı, basit bir Hello World JAR ana makine testi örneği sunar. ihtiyacınıza göre uyarlayabilirsiniz: platform_testing/tests/örnek/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 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ştaki java_test_host beyanı bunun bir JAR olduğunu gösteriyor ana makine testi. Bu özelliğin nasıl kullanıldığına dair bir örnek: frameworks/base/tools/powermodel/Android.bp

Ayarlar

Ayarlarla ilgili 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ü belirtir ve elde edilen JAR aynı ada ve bir .jar son ekine sahiptir. Aşağıdaki örnekte,sonuçta elde edilen test JAR'ının adı HelloWorldHostTest.jar olarak belirlenmiştir. Ayrıca bu ayar, test modülünüzü ve tüm bağımlılıkları oluşturmak için make [options] <HelloWorldHostTest> kullanabilmeniz amacıyla modülünüz için bir derleme hedefi adı da tanımlar.

    name: "HelloWorldHostTest",
    
  • test_suites ayarı, testin ticari müşteriler tarafından kolayca bulunabilmesini sağlar. Federasyon test bandı. JAR ana makine testi paylaşılabilmesi için buraya CTS gibi başka test grupları da eklenebilir.

    test_suites: ["general-tests"],
    
  • static_libs ayarı, derleme sistemine . Bu, her adlandırılmış modülün bir .jar dosyası oluşturması gerektiği anlamına gelir. Modülün içeriği, eğitim sırasında sınıf yolu referanslarını çözümlemek için kullanılır. derleme süresini artırır ve sonuçta ortaya çıkan APK'ya eklenir.

    static_libs: [
        "junit",
    ],