본문 바로가기
안드로이드

안드로이드 단위테스트란?

by 디지털노마더 2021. 8. 9.

안드로이드 앱 개발을 진행하다보면 테스트가 필요한 경우가 빈번하다.

일반적으로 테스트를 할 때, 애뮬레이터나 실제 디바이스를 통해서 직접 테스트를 진행하는 경우가 많다.

 

특히, 오류/버그가 발생하는 경우는 작은 단위로 디버그/테스트를 진행하면서 문제를 해결해 나간다.

안드로이드 앱은 UI(액티비티) 단위로 이벤트가 발생하므로, JUnit을 이용

 

일반적으로 프로젝트 생성 시, 2가지 테스트 유형이 정의된다.

 

 로컬단위테스트(test)

 : 안드로이드 프레임워크와 관련없이 검증이 가능한 테스트

 : module-name/src/test/java
ex) ExampleUnitTest.java : 로컬 환경에서 유닛 테스트를 진행할 때 사용

 

 계측테스트(androidTest)

 : 안드로이드 프레임워크에 종속성이 있는 테스트

 : module-name/src/androidTest/java
ex) ExampleInstrumentedTest.java : 개발기기에서 로컬 유닛테스트를 진행할 때 사용

https://developer.android.com/studio/test?hl=ko#test_types_and_location


앞서 테스트 환경을 구성이 필요합니다.

build.gradle (module)을 열어서, 아래와 같이 설정을 해줍니다.

dependencies {
        androidTestImplementation 'androidx.test:runner:1.1.0'
        androidTestImplementation 'androidx.test:rules:1.1.0'
        // Optional -- Hamcrest library
        androidTestImplementation 'org.hamcrest:hamcrest-library:1.3'
        // Optional -- UI testing with Espresso
        androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
        // Optional -- UI testing with UI Automator
        androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
    }
 android {
        defaultConfig {
            testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        }
    }

 

로컬, 계측단위 테스트 상세방법은 다음 포스팅에 정리할 예정..

 

댓글