Espresso 설정 안내

이 가이드에서는 SDK Manager를 사용하여 Espresso를 설치하고 Gradle을 사용하여 Espresso를 빌드하는 방법을 다룹니다. Android 스튜디오를 사용하는 것이 좋습니다.

테스트 환경 설정

비정상적 작동을 피하려면 테스트에 사용되는 가상 기기 또는 실제 기기에서 시스템 애니메이션을 사용 중지할 것을 적극 권장합니다. 기기의 Settings > Developer options에서 다음 세 가지 설정을 사용 중지하세요.

  • 창 애니메이션 배율
  • 전환 애니메이션 배율
  • 애니메이터 길이 배율

Espresso 종속성 추가

Espresso 종속성을 프로젝트에 추가하려면 다음 단계를 완료하세요.

  1. 앱의 build.gradle 파일을 엽니다. 이 파일은 일반적으로 최상위 수준의 build.gradle 파일이 아니라 app/build.gradle입니다.
  2. 종속성 내부에 다음 줄을 추가합니다.
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
    androidTestImplementation 'androidx.test:runner:1.1.0'
    androidTestImplementation 'androidx.test:rules:1.1.0'
    

전체 Gradle 종속성 세트를 보세요.

계측 실행기 설정

동일한 build.gradle 파일의 android.defaultConfig에 다음 줄을 추가하세요.

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    

Gradle 빌드 파일 예

apply plugin: 'com.android.application'

    android {
        compileSdkVersion 28

        defaultConfig {
            applicationId "com.my.awesome.app"
            minSdkVersion 15
            targetSdkVersion 28
            versionCode 1
            versionName "1.0"

            testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        }
    }

    dependencies {
        androidTestImplementation 'androidx.test:runner:1.1.0'
        androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
    }
    

분석

신규 출시마다 올바른 방향으로 진행되고 있는지 확인하기 위해 테스트 실행기가 분석을 수집합니다. 더 구체적으로는 테스트 실행기가 각 호출에 관해 테스트 중인 애플리케이션의 패키지 이름 해시를 업로드합니다. 이렇게 하면 Espresso를 사용하는 고유 패키지의 수와 사용량을 모두 측정할 수 있습니다.

이 데이터를 업로드하지 않으려면 계측 명령어에 disableAnalytics 인수를 포함하여 선택 해제합니다.

    adb shell am instrument -e disableAnalytics true
    

맞춤 인수를 전달하는 방법을 참조하세요.

첫 번째 테스트 추가

Android 스튜디오에서는 기본적으로 src/androidTest/java/com.example.package/에 테스트를 만듭니다.

규칙을 사용하는 JUnit4 테스트 예:

Kotlin

    @RunWith(AndroidJUnit4::class)
    @LargeTest
    class HelloWorldEspressoTest {

        @get:Rule
        val activityRule = ActivityTestRule(MainActivity::class.java)

        @Test fun listGoesOverTheFold() {
            onView(withText("Hello world!")).check(matches(isDisplayed()))
        }
    }
    

자바

    @RunWith(AndroidJUnit4.class)
    @LargeTest
    public class HelloWorldEspressoTest {

        @Rule
        public ActivityTestRule<MainActivity> activityRule =
                new ActivityTestRule<>(MainActivity.class);

        @Test
        public void listGoesOverTheFold() {
            onView(withText("Hello world!")).check(matches(isDisplayed()));
        }
    }
    

테스트 실행

Android 스튜디오 또는 명령줄에서 테스트를 실행할 수 있습니다.

Android 스튜디오에서

Android 스튜디오에서 테스트 구성을 만들려면 다음 단계를 완료하세요.

  1. Run > Edit Configurations를 엽니다.
  2. 새 Android 테스트 구성을 추가합니다.
  3. 모듈을 선택합니다.
  4. 특정 계측 실행기를 추가합니다. androidx.test.runner.AndroidJUnitRunner
  5. 새로 만든 구성을 실행합니다.

명령줄에서

다음 Gradle 명령어를 실행합니다.

    ./gradlew connectedAndroidTest