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