JAR ana makine testleri

Eksiksiz kod sağlamak için Java arşivi (JAR) ana makine testleri uygulanmalıdır kapsayabilir. Yerel birim oluşturma talimatlarını uygulayın testlerinde bulabilirsiniz. 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 olması açısından 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ş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, oluşturulan test JAR'ı HelloWorldHostTest.jar olarak adlandırılmıştır. İçinde ek olarak, bu ayar aynı zamanda modülünüz için bir marka hedefi adı da tanımlar. testinizi oluşturmak için make [options] <HelloWorldHostTest> kullanabilirsiniz tüm bağımlılıklarını gözden geçireceğiz.

    name: "HelloWorldHostTest",
    
  • test_suites ayarı, testin Trade tarafından kolayca bulunabilmesini sağlar Federasyon test bandı. CTS gibi diğer test paketleri buraya eklenebilir Böylece JAR ana makine testinin paylaşılabilmesi gerekir.

    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, adlandırılmış her modülün bir .jar dosyası oluşturması beklendiğ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",
    ],