Her yeni test modülünün derleme sistemini yönlendirmek için bir yapılandırma dosyası olmalıdır ve paketleme talimatları ile birlikte çalışabilir. Android'de kullanımı daha basit hale getirmek için artık Soong derleme sistemini test yapılandırması.
Yakındag, JSON benzeri basit bildirimsel dosyalar olan Blueprint veya .bp
dosyalarını kullanır.
modüllerin açıklamaları var. Bu biçim, Marka tabanlı sistemin yerini alır
önceki sürümlerde kullanılır. Soong referans dosyalarına bakın
başlıklı makaleyi inceleyin.
Özel testler gerçekleştirmek veya Android Compatibility Test Suite (CTS) için, Karmaşık Test Yapılandırması .
Örnek
Aşağıdaki girişler, bu örnek Blueprint yapılandırma dosyasından gelir: /platform_testing/tests/örnek/araçlar/Android.bp
Kolaylık sağlaması açısından buraya bir anlık görüntü eklenmiştir:
android_test {
name: "HelloWorldTests",
srcs: ["src/**/*.java"],
sdk_version: "current",
static_libs: ["androidx.test.runner"],
certificate: "platform",
test_suites: ["device-tests"],
}
Baştaki android_test
beyanı bunun bir test olduğunu belirtir.
android_app
eklemek, tersine bunun bir derleme olduğunu gösterir
paketinden yararlanın.
Ayarlar
Aşağıdaki ayarların açıklaması:
name: "HelloWorldTests",
android_test
modül türü belirtildiğinde name
ayarı gerekir
(blonun başında). Modülünüze bir ad verir ve bunun sonucunda
APK aynı şekilde adlandırılacak ve bir .apk
son eki (ör. Bu örnekte
sonuçta elde edilen test apk'si HelloWorldTests.apk
olarak adlandırılıyor. Ayrıca bu
modülünüz için bir yapma hedefi adı tanımlar. Böylece, test modülünüzü ve tüm bağımlılıklarını oluşturmak üzere make [options]
<HelloWorldTests>
öğesini kullanabilirsiniz.
static_libs: ["androidx.test.runner"],
static_libs
ayarı, derleme sistemine içerikleri dahil etmesi talimatını verir
geçerli modülün sonuç apk'sine kopyalamasına yardımcı olur. Bunun anlamı,
adlandırılmış her modülün bir .jar
dosyası oluşturması beklenir ve içeriği
derleme süresi sırasında sınıf yolu referanslarını çözümlemek için ve
elde edilen apk'ye eklenir.
androidx.test.runner
modülü, AndroidX Test Runner için önceden oluşturulmuş bir modüldür
AndroidJUnitRunner
test çalıştırıcısını içeren kitaplık.
AndroidJUnitRunner
, JUnit4 test çerçevesini destekler ve
Android 10'da InstrumentationTestRunner
. Devamını okuyun
Android'de uygulamaları test etme başlıklı makaleden Android uygulamalarını test etme hakkında bilgi edinebilirsiniz.
Yeni bir araç modülü oluşturuyorsanız her zaman
androidx.test.runner
kitaplığını test çalıştırıcınız olarak kullanın. Platform kaynak ağacı
aynı zamanda ub-uiautomator
,
mockito-target
, easymock
ve daha fazlası.
certificate: "platform",
certificate
ayarı, derleme sistemine apk'yi aynı
temel platform olarak kullanmaya başladım. Testiniz imza kullanıyorsa bu gereklidir
korumalı izin veya API. Sürekli platform için uygun olduğunu unutmayın
testinin yanı sıra CTS test modüllerinde kullanılmaması gerekir. Bu örneğin
bu sertifika ayarını yalnızca örneklendirme amacıyla kullanır: test kodu
aslında test apk'nin
özel platform sertifikası.
Bileşeniniz için işletmenizin dışında bulunan bir araç oluşturuyorsanız
normal bir uygulama APK'sı gibi daha çok veya daha az paketlenir
Ancak sistem görüntüsünde yerleşik olarak bulunuyor ve ayrıcalıklı bir uygulama
araçlarınızın uygulama paketini hedefleyeceğinden emin olun (aşağıya bakın
manifesto bölümünü inceleyin). Bu durumda başvurunuz
makefile'ın kendi certificate
ayarı olabilir ve araçlarınız
modülünün aynı ayarı koruması gerekiyor. Çünkü, müşterilerinizi hedeflemek
test APK'nız ve uygulama APK'nız imzalanmalıdır.
aynı sertifika ile.
Bazı durumlarda ise şu ayarı kullanmanız gerekmez: derleme sistemi
yerleşik bir sertifikayla imzalar. Bu, derlemeye
ve genellikle dev-keys
olarak adlandırılır.
test_suites: ["device-tests"],
test_suites
ayarı, testin ticari müşteriler tarafından kolayca bulunabilmesini sağlar.
Federasyon test bandı. CTS gibi diğer süitler buraya eklenebilir.
paylaşılabilir.
${ANDROID_PRODUCT_OUT}/testcases/HelloWorldTests/HelloWorldTests.apk
İsteğe bağlı ayarlar
Aşağıdaki isteğe bağlı ayarların ortak açıklaması:
test_config: "path/to/hello_world_test.xml"
test_config
ayarı, derleme sistemine test hedefinizin bir
özel bir yapılandırmadır. Varsayılan olarak Android.bp
öğesinin yanındaki AndroidTest.xml
simgesi
yapılandırdığınızdan emin olun.
auto_gen_config: true
auto_gen_config
ayarı, test yapılandırmasının oluşturulup oluşturulmayacağını belirtir
otomatik olarak oluşturur. Android.bp
öğesinin yanında AndroidTest.xml
yoksa bu
özelliğinin "true" değerine ayarlanmasına gerek yoktur.
require_root: true
require_root
ayarı, derleme sistemine RootTargetPreparer ekleme talimatı verir
otomatik olarak oluşturulan test yapılandırmasına eklenir. Bu, testin root ile çalışmasını garanti eder
izin verir.
test_min_api_level: 29
test_min_api_level
ayarı, derleme sistemine
MinApiLevelModuleController'ı otomatik oluşturulan test yapılandırmasına bağlayın. Ticaret Sırasında
Federasyon test yapılandırmasını çalıştırır. Cihaz özelliği
/ ro.product.first_api_level
< test_min_api_level
.