Espresso를 사용하면 간결하고 아름답고 신뢰할 수 있는 Android UI 테스트를 작성할 수 있습니다.
다음 코드 스니펫은 Espresso 테스트의 예를 보여줍니다.
Kotlin
@Test fun greeterSaysHello() { onView(withId(R.id.name_field)).perform(typeText("Steve")) onView(withId(R.id.greet_button)).perform(click()) onView(withText("Hello Steve!")).check(matches(isDisplayed())) }
자바
@Test public void greeterSaysHello() { onView(withId(R.id.name_field)).perform(typeText("Steve")); onView(withId(R.id.greet_button)).perform(click()); onView(withText("Hello Steve!")).check(matches(isDisplayed())); }
핵심 API는 작고 예측 가능하며 배우기 쉽지만 맞춤설정할 수 있도록 공개되어 있습니다. Espresso 테스트는 방해가 되는 상용구 콘텐츠, 맞춤 인프라 또는 복잡한 구현 세부정보에 주의를 분산시키지 않고 기대 수준, 상호작용 및 어설션을 명확하게 설명합니다.
Espresso 테스트는 최적의 방식으로 빠르게 실행됩니다. Espresso 테스트는 애플리케이션 UI가 사용되지 않을 때 애플리케이션 UI에서 조작하고 어설션하는 동안 대기, 동기화, 절전 모드 및 폴링에서 벗어날 수 있도록 합니다.
참가 대상
Espresso는 자동화된 테스트가 개발 수명 주기의 핵심적인 부분이라고 생각하는 개발자를 타겟으로 합니다. Espresso는 블랙박스 테스트에 사용될 수 있지만 테스트 중인 코드베이스에 익숙한 사용자는 Espresso의 전체 기능을 사용할 수 있습니다.
동기화 기능
테스트가 onView()
를 호출할 때마다 Espresso는 다음 동기화 조건이 충족될 때까지 상응하는 UI 작업 또는 어설션을 실행하기 위해 대기합니다.
Espresso는 이러한 검사를 이행하여 지정된 시간에 하나의 UI 작업 또는 어설션만 발생할 수 있는 가능성을 크게 높입니다. 이 기능은 보다 안정적이고 신뢰할 수 있는 테스트 결과를 제공합니다.
패키지
espresso-core
- 핵심 및 기본View
매처, 작업, 어설 션이 포함되어 있습니다. 기초 및 레시피를 참조하세요.espresso-web
-WebView
지원에 관한 리소스가 포함되어 있습니다.espresso-idling-resource
- 백그라운드 작업과 동기화하는 Espresso의 메커니즘입니다.espresso-contrib
-DatePicker
,RecyclerView
및Drawer
작업, 접근성 확인,CountingIdlingResource
가 포함된 외부 참여입니다.espresso-intents
- 밀폐 테스트를 위해 인텐트를 검증하고 스터브 처리하는 확장 프로그램입니다.espresso-remote
- Espresso의 멀티 프로세스 기능의 위치입니다.
출시 노트를 참조하여 최신 버전에 관해 자세히 알아볼 수 있습니다.
참고 자료
Android 테스트에서 Espresso를 사용하는 방법에 관한 자세한 내용은 다음 자료를 참조하세요.
샘플
- Espresso 코드 샘플에는 가능한 모든 Espresso 샘플이 포함되어 있습니다.
- BasicSample: 기본 Espresso 샘플입니다.
- 더보기