이 가이드에서는 SDK Manager를 사용하여 Espresso를 설치하고 Gradle을 사용하여 Espresso를 빌드하는 방법을 다룹니다. Android 스튜디오를 사용하는 것이 좋습니다.
테스트 환경 설정
비정상적 작동을 피하려면 테스트에 사용되는 가상 기기 또는 실제 기기에서 시스템 애니메이션을 사용 중지할 것을 적극 권장합니다. 기기의 Settings > Developer options에서 다음 세 가지 설정을 사용 중지합니다.
- 창 애니메이션 배율
- 전환 애니메이션 배율
- 애니메이터 길이 배율
Espresso 종속성 추가
Espresso 종속 항목을 프로젝트에 추가하려면 다음 단계를 완료하세요.
- 앱의
build.gradle
파일을 엽니다. 이 파일은 일반적으로 최상위 수준의build.gradle
파일이 아니라app/build.gradle
입니다. - 종속 항목 내부에 다음 행을 추가합니다.
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')
계측 실행기 설정
동일한 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 스튜디오에서 테스트 구성을 만들려면 다음 단계를 완료하세요.
- Run > Edit Configurations를 엽니다.
- 새 Android 테스트 구성을 추가합니다.
- 모듈을 선택합니다.
- 특정 계측 실행기(
androidx.test.runner.AndroidJUnitRunner
)를 추가합니다. - 새로 만든 구성을 실행합니다.
명령줄에서
다음 Gradle 명령어를 실행합니다.
./gradlew connectedAndroidTest