[android] Espresso 테스트 유틸리티

안드로이드 앱을 개발하다보면 UI 테스트가 필요할 때가 있습니다. Espresso는 안드로이드 테스트 프레임워크 중 하나로, 사용자의 액션을 에뮬레이션하고 이벤트가 제대로 동작하는지 확인할 수 있습니다.

우리는 Espresso의 유용한 유틸리티 중 몇 가지를 알아볼 것입니다.

Matcher

Espresso의 Matcher는 뷰를 식별하고 조작하는 데 사용됩니다. 특정 뷰를 찾는 것 외에도 뷰의 속성과 상태를 기준으로 조건을 지정할 수 있습니다. 다양한 Matcher를 사용하여 테스트 하는데 편리함을 더할 수 있습니다.

onView(withId(R.id.my_button)).perform(click());

ViewActions

ViewActions는 사용자 액션(탭, 스크롤, 입력 등)을 에뮬레이션하기 위해 사용됩니다. 쉽게 말해, 사용자가 실제로 할 수 있는 작업들을 Espresso를 통해 자동화하여 테스트할 수 있는 것입니다.

onView(withId(R.id.my_text)).perform(typeText("Hello"), closeSoftKeyboard());

ViewAssertions

ViewAssertions는 뷰에 대한 상태나 속성을 확인하기 위해 사용됩니다. 예를 들어, 뷰의 가시성, 텍스트, 존재 여부 등을 확인할 수 있습니다.

onView(withText("Hello, World!")).check(matches(isDisplayed()));

위의 유틸리티들을 적절히 활용하여 안드로이드 앱의 UI를 효율적으로 테스트할 수 있습니다.

참조: