AndroidX Testi için proje oluştur

AndroidX Test, testler çalıştırmanızı sağlayan Jetpack kitaplıklarından oluşan bir koleksiyondur karşılaştırabilirsiniz. Ayrıca bu belgeleri yazmanıza yardımcı olacak testler.

Örneğin, AndroidX Test, etkinlikleri başlatmak ve bunlarla JUnit4 testlerinde etkileşime girdiğini göstermektir. Ayrıca, Microsoft Word’de oluşturulan simülatörüdür.

AndroidX Test kitaplıkları ekleyin

AndroidX Test'i kullanmak için uygulama projenizin bağımlılıklarını değiştirmeniz gerekir iyi bir fırsattır.

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 depo görünür:
  allprojects {
    repositories {
      jcenter()
      google()
    }
  }
  • 3. Adım: Kullanmak istediğiniz her AndroidX Test paketi için paketi ekleyin şeyin adını bağımlılıkları bölümümüzden bahsedeceğiz. Örneğin, espresso-core paketini eklemek için şu satırlar var:

Eski

dependencies {
        ...
        androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVersion"
    }

Kotlin

dependencies {
        ...
        androidTestImplementation('androidx.test.espresso:espresso-core:$espressoVersion')
    }

Mevcut en yaygın AndroidX Testi bağımlılıkları şunlardır:

Eski

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ında, her bir sürümün en son sürümlerini içeren bir tablo bulunur. tespit eder.

Özel bir referans için Paket Dizini veya Sınıf Dizini'ne bakın her şeyi öğreteceğim.

Desteği sonlandırılmış sınıfları kullanan projeler

Uygulamanız kullanımdan kaldırılmış JUnit3 tabanlı android.test temelli testler kullanıyorsa InstrumentationTestCase ve TestSuiteLoader gibi sınıflar dosyanın android bölümünde şu satırlar yer alır:

android {
    ...
    useLibrary 'android.test.runner'

    useLibrary 'android.test.base'
    useLibrary 'android.test.mock'
  }

Manifest beyanları ekle

Desteği sonlandırılan JUnit3 tabanlı android.test sınıflarını kullanan testleri çalıştırmak için gerekli <uses-library> öğelerini test uygulamanızın manifest dosyasına ekleyin. Örneğin, Örneğin, android.test.runner kitaplığına bağlı testler eklerseniz uygulamanızın manifest dosyasına aşağıdaki öğeyi 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ı bir sınıfı içeren kitaplığı belirlemek için bkz. JUnit tabanlı kitaplıklar.

Desteği sonlandı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'u (API düzeyi 28) hedefliyorsanız geçerlidir veya daha yeni bir sürüm ve uygulamanızın minimum SDK sürümü Android 9 olarak ayarlanmışsa

android.test.runner kitaplığı dolaylı olarak android.test.base öğesine bağlıdır ve android.test.mock kitaplık var. Uygulamanız yalnızca android.test.base veya android.test.mock için kitaplıkları dahil etmek üzere kendisi:

<!-- 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" />