Espresso 설정 안내

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

테스트 환경 설정

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

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

Espresso 종속성 추가

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

  1. 앱의 build.gradle 파일을 엽니다. 이 파일은 일반적으로 최상위 수준의 build.gradle 파일이 아니라 app/build.gradle입니다.
  2. 종속 항목 내부에 다음 행을 추가합니다.

Groovy

androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'
androidTestImplementation 'androidx.test:runner:1.6.1'
androidTestImplementation 'androidx.test:rules:1.6.1'

Kotlin

androidTestImplementation('androidx.test.espresso:espresso-core:3.6.1')
androidTestImplementation('androidx.test:runner:1.6.1')
androidTestImplementation('androidx.test:rules:1.6.1')

전체 Gradle 종속 항목 세트를 살펴보세요.

계측 실행기 설정

동일한 build.gradle 파일의 android.defaultConfig에 다음 줄을 추가합니다.

Groovy

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

Kotlin

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

Gradle 빌드 파일 예

Groovy

plugins {
  id 'com.android.application'
}

android {
    compileSdkVersion 33

    defaultConfig {
        applicationId "com.my.awesome.app"
        minSdkVersion 21
        targetSdkVersion 33
        versionCode 1
        versionName "1.0"

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

dependencies {
    androidTestImplementation 'androidx.test:runner:1.6.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'
}

Kotlin

plugins {
    id("com.android.application")
}

android {
    compileSdkVersion(33)

    defaultConfig {
        applicationId = "com.my.awesome.app"
        minSdkVersion(21)
        targetSdkVersion(33)
        versionCode = 1
        versionName = "1.0"

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

dependencies {
    androidTestImplementation('androidx.test:runner:1.6.1')
    androidTestImplementation('androidx.test.espresso:espresso-core:3.6.1')
}

분석

새로운 버전이 출시될 때마다 올바른 방향으로 가고 있는지 확인하기 위해 테스트 실행기에서 분석을 수집합니다. 더 구체적으로는 테스트 실행기가 각 호출에 관해 테스트 중인 애플리케이션의 패키지 이름 해시를 업로드합니다. 이를 통해 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 = ActivityScenarioRule(MainActivity::class.java)

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

자바

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

    @Rule
    public ActivityScenarioRule<MainActivity> activityRule =
            new ActivityScenarioRule<>(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