[android] Espresso 테스트 작성

안드로이드 애플리케이션을 개발하다 보면 UI 테스트가 매우 중요합니다. Espresso는 Google이 제공하는 안드로이드 UI 테스트 프레임워크로, UI 기반의 테스트를 보다 쉽게 작성할 수 있습니다. Espresso를 사용하여 안드로이드 애플리케이션의 UI를 효과적으로 테스트하는 방법에 대해 알아봅시다.

Espresso란?

Espresso는 안드로이드 UI 테스트를 작성하기 위한 도구로, 애플리케이션의 UI 동작을 확인하고 테스트하는 데 사용됩니다. Espresso는 사용자 동작과 애플리케이션의 반응을 테스트하며, 선언적이고 간결한 API를 제공하여 테스트 코드를 작성하기 쉽게 만들어줍니다.

Espresso 테스트 작성 방법

Espresso 테스트를 작성하려면 androidTest 폴더 내에 테스트 파일을 생성해야 합니다. 테스트 파일 내에서는 Espresso의 API를 활용하여 UI 테스트 코드를 작성합니다.

아래는 Espresso를 사용하여 버튼 클릭을 테스트하는 예시 코드입니다.

@RunWith(AndroidJUnit4.class)
public class MainActivityEspressoTest {

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

    @Test
    public void testButtonClick() {
        onView(withId(R.id.button)).perform(click());
        onView(withText("Button Clicked")).check(matches(isDisplayed()));
    }
}

위 코드에서 onView()를 사용하여 특정 View를 찾고, perform()를 사용하여 해당 View에 동작을 수행하며, check()matches()를 사용하여 UI 상태를 확인합니다. 이를 통해 버튼 클릭 후 특정 텍스트가 화면에 표시되는지를 테스트할 수 있습니다.

참고 자료