[android] Espresso 테스트 케이스

안드로이드 앱을 개발할 때 UI 테스트는 매우 중요합니다. 사용자 경험이 사용자 인터페이스와 어떻게 상호 작용하는지 확인하는 데 도움이 됩니다. Espresso를 사용해서 안드로이드 앱의 UI를 테스트하는 방법을 알아보겠습니다.

Espresso란?

Espresso는 안드로이드 UI 테스트를 작성하고 실행하는 데 사용되는 도구입니다. Espresso를 사용하면 앱의 UI 구성 요소(버튼, 텍스트 필드, RecyclerView 등)를 더 쉽게 테스트할 수 있습니다.

Espresso 테스트 케이스 작성 방법

  1. 의존성 추가: 먼저 build.gradle 파일에 Espresso 의존성을 추가해야 합니다.

    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
    
  2. 테스트 케이스 작성: androidTest 폴더에 UI 테스트를 위한 테스트 케이스 클래스를 작성합니다.

    예시:

    import androidx.test.ext.junit.rules.ActivityScenarioRule;
    import androidx.test.espresso.Espresso;
    import androidx.test.espresso.action.ViewActions;
    import androidx.test.espresso.matcher.ViewMatchers;
    import androidx.test.ext.junit.runners.AndroidJUnit4;
    import androidx.test.platform.app.InstrumentationRegistry;
    import androidx.test.rule.ActivityTestRule;
    import org.junit.Rule;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import static androidx.test.espresso.matcher.ViewMatchers.withId;
    
    @RunWith(AndroidJUnit4.class)
    public class LoginActivityTest {
    
        @Rule
        public ActivityScenarioRule<MainActivity> activityScenarioRule = new ActivityScenarioRule<>(MainActivity.class);
    
        @Test
        public void testLoginButton() {
            Espresso.onView(withId(R.id.editTextEmail)).perform(ViewActions.typeText("test@gmail.com"));
            Espresso.onView(withId(R.id.editTextPassword)).perform(ViewActions.typeText("password123"));
            Espresso.closeSoftKeyboard();
            Espresso.onView(withId(R.id.buttonLogin)).perform(ViewActions.click());
        }
    }
    
  3. 실행: 안드로이드 스튜디오에서 Run 버튼을 클릭하여 Espresso 테스트 케이스를 실행합니다.

결론

Espresso를 사용하면 안드로이드 앱의 UI를 테스트하는 것이 매우 간단하고 효율적입니다. 안정적이고 빠르게 UI를 테스트하고 앱의 품질을 향상시킬 수 있는 Espresso를 활용해보세요.

참고 문헌: