효과적인 단위 테스트 빌드

단위 테스트는 앱 테스트 전략의 기본 테스트입니다. 코드에 관한 단위 테스트를 만들고 실행하여 개별 단위의 로직이 올바른지 쉽게 확인할 수 있습니다. 빌드마다 단위 테스트를 실행하면 코드 변경으로 인해 앱에 발생한 소프트웨어 회귀를 빠르게 파악하고 수정할 수 있습니다.

일반적으로 단위 테스트는 가능한 가장 작은 코드 단위(메서드, 클래스 또는 구성요소)의 기능을 반복 가능한 방식으로 실행합니다. 앱에서 특정 코드의 로직을 확인해야 할 때 단위 테스트를 빌드해야 합니다. 예를 들어 클래스를 단위 테스트하는 경우 테스트를 통해 클래스의 상태가 올바른지 확인할 수 있습니다. 일반적으로 코드 단위는 격리된 상태로 테스트됩니다. 테스트는 관련된 단위에만 영향을 미치고 이 단위의 변경사항만 모니터링합니다. Robolectric 또는 모의 프레임워크와 같은 종속 항목 제공자를 사용하여 단위를 종속 항목에서 분리할 수 있습니다.

참고: 복잡한 UI 상호작용 이벤트 테스트에는 단위 테스트가 적합하지 않습니다. 대신 UI 테스트 자동화에 설명된 대로 UI 테스트 프레임워크를 사용해야 합니다.

Android 앱을 테스트하는 경우 일반적으로 다음과 같은 유형의 자동 단위 테스트를 만듭니다.

  • 로컬 테스트: 로컬 컴퓨터에서만 실행되는 단위 테스트입니다. 이러한 테스트는 실행 시간을 최소화하기 위해 자바 가상 머신(JVM)에서 로컬로 실행되도록 컴파일됩니다. 테스트가 Android 프레임워크의 개체에 종속되어 있으면 Robolectric을 사용하는 것이 좋습니다. 고유한 종속성에 의존하는 테스트의 경우 모의 개체를 사용하여 종속성의 동작을 에뮬레이션하세요.
  • 계측 테스트: Android 기기 또는 에뮬레이터에서 실행되는 단위 테스트입니다. 이러한 테스트에서는 테스트 중인 앱의 Context와 같은 계측 정보에 액세스할 수 있습니다. Robolectric과 같이 더 강력한 환경이 필요한 복잡한 Android 종속 항목이 있는 단위 테스트를 실행하려면 이 접근 방식을 사용하세요.

이 과정에서는 이러한 유형의 자동화된 단위 테스트를 빌드하는 방법을 설명합니다.

과정

로컬 단위 테스트 빌드
로컬 시스템에서 실행되는 단위 테스트를 빌드하는 방법을 알아봅니다.
계측 단위 테스트 빌드
Android 기기 또는 에뮬레이터에서 실행되는 단위 테스트를 빌드하는 방법을 알아봅니다.

참고 자료

Android 테스트에서 Espresso를 사용하는 방법에 관한 자세한 내용은 다음 자료를 참조하세요.

샘플

Codelab