AndroidX 테스트용 프로젝트 설정

AndroidX 테스트는 테스트를 실행할 수 있는 Jetpack 라이브러리 모음입니다. 압도합니다. 또한 이러한 전략을 작성하는 데 도움이 되는 있습니다

예를 들어, AndroidX 테스트는 활동을 시작하고 JUnit4 테스트에서 상호 작용하는 방법을 보여줍니다. 또한 Google Cloud API를 호출할 수 있는 바로 Espresso, UI Automator, Robolectric 시뮬레이터입니다.

AndroidX 테스트 라이브러리 추가

AndroidX 테스트를 사용하려면 앱 프로젝트의 종속 항목을 수정해야 합니다. 실행할 수 있습니다

Gradle 종속 항목 추가

앱 프로젝트의 종속 항목을 수정하려면 다음 단계를 완료하세요.

  • 1단계: Gradle 모듈의 build.gradle 파일을 엽니다.
  • 2단계: 저장소 섹션에서 Google의 Maven 확인 저장소가 나타납니다.
  allprojects {
    repositories {
      jcenter()
      google()
    }
  }
  • 3단계: 사용하려는 AndroidX 테스트 패키지마다 패키지를 추가합니다. 이름을 종속 항목 섹션을 참조하세요. 예를 들어 espresso-core 패키지를 추가하려면 다음 행을 추가합니다.

Groovy

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

Kotlin

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

다음은 사용 가능한 가장 일반적인 AndroidX 테스트 종속 항목입니다.

Groovy

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")
}

출시 노트 페이지에는 제품 및 서비스에 대한 최신 버전 합니다.

자세한 내용은 패키지 색인 또는 클래스 색인을 참조하세요. 이 라이브러리에 대한 문서를 참조하세요.

지원 중단된 클래스를 사용하는 프로젝트

앱이 지원 중단된 JUnit3 기반 android.test을 사용하는 테스트를 사용하는 경우 InstrumentationTestCaseTestSuiteLoader와 같은 클래스는 파일의 android 섹션에 다음 줄을 추가합니다.

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

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

매니페스트 선언 추가

지원 중단된 JUnit3 기반 android.test 클래스를 사용하는 테스트를 실행하려면 다음을 추가합니다. 필요한 <uses-library> 요소를 테스트 앱의 매니페스트에 추가합니다. 대상 예를 들어 android.test.runner 라이브러리에 종속된 테스트를 추가하는 경우 다음 요소를 앱의 매니페스트에 추가합니다.

<!-- 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 기반 클래스를 포함하는 라이브러리를 확인하려면 다음을 참조하세요. JUnit 기반 라이브러리.

지원 중단된 클래스를 사용하고 Android 9 이상을 타겟팅할 때의 고려사항

높음

이 섹션의 안내는 Android 9 (API 수준 28)을 타겟팅하는 경우에만 적용됩니다. 이상 앱의 최소 SDK 버전이 Android 9로 설정되어 있어야 합니다.

android.test.runner 라이브러리는 암시적으로 android.test.base에 종속됩니다. 및 android.test.mock 라이브러리를 포함합니다. 앱이 android.test.base 또는 android.test.mock이면 있습니다.

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