AndroidX Test, Android uygulamalarında test çalıştırmanıza olanak tanıyan bir Jetpack kitaplıkları koleksiyonudur. Ayrıca bu testleri yazmanıza yardımcı olacak bir dizi araç da sunar.
Örneğin, AndroidX Test, etkinlikleri başlatmak ve JUnit4 testlerinde bunlarla etkileşimde bulunmak için JUnit4 kuralları sağlar. Ayrıca Espresso, UI Automator ve Robofactric simülatörü gibi Kullanıcı Arayüzü Testi çerçeveleri de içerir.
AndroidX Test kitaplıkları ekleyin
AndroidX Test'i kullanmak için geliştirme ortamınızda uygulama projenizin bağımlılıklarını değiştirmeniz gerekir.
Gradle bağımlılıkları ekleme
Uygulama projenizin bağımlılıklarını değiştirmek için aşağıdaki adımları tamamlayın:
- 1. Adım: Gradle modülünüz için
build.gradle
dosyasını açın. - 2. Adım: Depolar bölümünde Google'ın Maven deposunun göründüğünden emin olun:
allprojects {
repositories {
jcenter()
google()
}
}
- 3. Adım: Kullanmak istediğiniz her AndroidX Test paketinin paket adını bağımlılıklar bölümüne ekleyin. Örneğin,
espresso-core
paketini eklemek için aşağıdaki satırları ekleyin:
Modern
dependencies { ... androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVersion" }
Kotlin
dependencies { ... androidTestImplementation('androidx.test.espresso:espresso-core:$espressoVersion') }
Mevcut en yaygın AndroidX Test bağımlılıkları şunlardır:
Modern
dependencies { // Core library androidTestImplementation "androidx.test:core:$androidXTestVersion0" // AndroidJUnitRunner and JUnit Rules androidTestImplementation "androidx.test:runner:$testRunnerVersion" androidTestImplementation "androidx.test:rules:$testRulesVersion" // Assertions androidTestImplementation "androidx.test.ext:junit:$testJunitVersion" androidTestImplementation "androidx.test.ext:truth:$truthVersion" // Espresso dependencies androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVersion" androidTestImplementation "androidx.test.espresso:espresso-contrib:$espressoVersion" androidTestImplementation "androidx.test.espresso:espresso-intents:$espressoVersion" androidTestImplementation "androidx.test.espresso:espresso-accessibility:$espressoVersion" androidTestImplementation "androidx.test.espresso:espresso-web:$espressoVersion" androidTestImplementation "androidx.test.espresso.idling:idling-concurrent:$espressoVersion" // The following Espresso dependency can be either "implementation", // or "androidTestImplementation", depending on whether you want the // dependency to appear on your APK’"s compile classpath or the test APK // classpath. androidTestImplementation "androidx.test.espresso:espresso-idling-resource:$espressoVersion" }
Kotlin
dependencies { // Core library androidTestImplementation("androidx.test:core:$androidXTestVersion") // AndroidJUnitRunner and JUnit Rules androidTestImplementation("androidx.test:runner:$testRunnerVersion") androidTestImplementation("androidx.test:rules:$testRulesVersion") // Assertions androidTestImplementation("androidx.test.ext:junit:$testJunitVersion") androidTestImplementation("androidx.test.ext:truth:$truthVersion") // Espresso dependencies androidTestImplementation( "androidx.test.espresso:espresso-core:$espressoVersion") androidTestImplementation( "androidx.test.espresso:espresso-contrib:$espressoVersion") androidTestImplementation( "androidx.test.espresso:espresso-intents:$espressoVersion") androidTestImplementation( "androidx.test.espresso:espresso-accessibility:$espressoVersion") androidTestImplementation( "androidx.test.espresso:espresso-web:$espressoVersion") androidTestImplementation( "androidx.test.espresso.idling:idling-concurrent:$espressoVersion") // The following Espresso dependency can be either "implementation", // or "androidTestImplementation", depending on whether you want the // dependency to appear on your APK"s compile classpath or the test APK // classpath. androidTestImplementation( "androidx.test.espresso:espresso-idling-resource:$espressoVersion") }
Sürüm Notları sayfası, her yapı için en son sürümlerin yer aldığı bir tablo içerir.
Bu kitaplıklarla ilgili belirli referans belgeleri için Paket Dizini veya Sınıf Dizini'ne bakın.
Kullanımdan kaldırılan sınıfları kullanan projeler
Uygulamanızda, desteği sonlandırılmış JUnit3 tabanlı android.test
sınıflarını (ör. InstrumentationTestCase
ve TestSuiteLoader
) kullanan testler kullanılıyorsa dosyanın android
bölümüne aşağıdaki satırları ekleyin:
android {
...
useLibrary 'android.test.runner'
useLibrary 'android.test.base'
useLibrary 'android.test.mock'
}
Manifest beyanları ekle
Kullanımdan kaldırılmış JUnit3 tabanlı android.test
sınıflarını temel alan testler çalıştırmak için gerekli <uses-library>
öğelerini test uygulamanızın manifest dosyasına ekleyin. Örneğin, android.test.runner
kitaplığına bağlı testler eklerseniz aşağıdaki öğeyi uygulamanızın manifest dosyasına ekleyin:
<!-- You don't need to include android:required="false" if your app's
minSdkVersion is 28 or higher. -->
<uses-library android:name="android.test.runner"
android:required="false" />
JUnit tabanlı belirli bir sınıfı içeren kitaplığı belirlemek için JUnit tabanlı kitaplıklar bölümüne bakın.
Kullanımdan kaldırılan sınıfları kullanırken ve Android 9 veya sonraki sürümleri hedeflerken dikkat edilmesi gereken noktalar
daha yüksek
Bu bölümdeki yönergeler yalnızca Android 9 (API düzeyi 28) veya sonraki sürümleri hedefliyorsanız ve uygulamanızın minimum SDK sürümü Android 9'a ayarlanmışsa geçerlidir.
android.test.runner
kitaplığı, dolaylı olarak android.test.base
ve android.test.mock
kitaplıklarına bağlıdır. Uygulamanız yalnızca android.test.base
veya android.test.mock
kapsamındaki sınıfları kullanıyorsa kitaplıkları kendiniz ekleyebilirsiniz:
<!-- For both of these declarations, you don't need to include
android:required="false" if your app's minSdkVersion is 28
or higher. -->
<uses-library android:name="android.test.base"
android:required="false" />
<uses-library android:name="android.test.mock"
android:required="false" />