[android] Espresso 테스트 커버리지

Espresso는 안드로이드 애플리케이션에 UI 테스트를 작성할 때 자주 사용되는 도구입니다. 하지만 테스트 코드의 품질을 평가하고 테스트 커버리지를 측정하는 것은 매우 중요합니다. 이 글에서는 Espresso 테스트의 커버리지를 측정하는 방법을 알아보겠습니다.

테스트 커버리지란 무엇인가?

테스트 커버리지는 소프트웨어 시스템을 테스트하는 데 사용된 테스트 케이스가 얼마나 많은 코드를 실행했는지를 나타내는 지표입니다. 테스트 커버리지를 측정하면 코드의 품질과 안정성을 평가할 수 있습니다.

Espresso 테스트 커버리지 측정 도구

안드로이드 애플리케이션의 Espresso 테스트 커버리지를 측정하기 위해 Jacoco를 사용할 수 있습니다. Jacoco는 Java 코드의 테스트 커버리지를 측정하는 데 사용되는 인기 있는 도구입니다.

Jacoco는 안드로이드 Gradle 플러그인과 통합되어 있어 테스트 시나리오를 수행할 때 테스트 커버리지 보고서를 생성할 수 있습니다.

다음은 안드로이드 프로젝트의 build.gradle 파일에 Jacoco 플러그인을 추가하는 예시입니다.

apply plugin: 'jacoco'

android {
    // ...
}

jacoco {
    toolVersion = "0.8.7"
}

dependencies {
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    androidTestImplementation 'androidx.test:runner:1.2.0'
    androidTestImplementation 'androidx.test:rules:1.2.0'
    androidTestUtil 'androidx.test.espresso:espresso-idling-resource:3.2.0'
}

위 설정을 추가하면 안드로이드 애플리케이션의 테스트를 실행할 때 Jacoco가 테스트 커버리지 보고서를 생성하게 됩니다.

테스트 커버리지 보고서 확인

테스트를 실행한 후에는 app/build/reports/jacoco/jacocoTestReport/html/index.html 파일을 열어 테스트 커버리지 보고서를 확인할 수 있습니다. 이 보고서를 통해 어떤 부분이 테스트되지 않았는지, 테스트 커버리지가 어떻게 되는지 등을 확인할 수 있습니다.

테스트 커버리지를 측정하고 보고서를 통해 테스트되지 않은 부분을 식별하여 테스트 커버리지를 향상시키는 것은 안드로이드 애플리케이션의 품질을 향상시키는 데 중요한 요소입니다.

테스트 커버리지를 측정하여 Espresso 테스트의 품질을 향상시키고 안정성을 확보할 수 있습니다.

참고문헌:

  1. Jacoco 공식 홈페이지