안드로이드 앱 개발을 진행하다보면 테스트가 필요한 경우가 빈번하다.
일반적으로 테스트를 할 때, 애뮬레이터나 실제 디바이스를 통해서 직접 테스트를 진행하는 경우가 많다.
특히, 오류/버그가 발생하는 경우는 작은 단위로 디버그/테스트를 진행하면서 문제를 해결해 나간다.
안드로이드 앱은 UI(액티비티) 단위로 이벤트가 발생하므로, JUnit을 이용
일반적으로 프로젝트 생성 시, 2가지 테스트 유형이 정의된다.
① 로컬단위테스트(test)
: 안드로이드 프레임워크와 관련없이 검증이 가능한 테스트
: module-name/src/test/java
ex) ExampleUnitTest.java : 로컬 환경에서 유닛 테스트를 진행할 때 사용
② 계측테스트(androidTest)
: 안드로이드 프레임워크에 종속성이 있는 테스트
: module-name/src/androidTest/java
ex) ExampleInstrumentedTest.java : 개발기기에서 로컬 유닛테스트를 진행할 때 사용
앞서 테스트 환경을 구성이 필요합니다.
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"
}
}
로컬, 계측단위 테스트 상세방법은 다음 포스팅에 정리할 예정..
'안드로이드' 카테고리의 다른 글
getPackageManager().getLaunchIntentForPackage return null (0) | 2021.10.22 |
---|---|
[Android 11] ActivityNotFoundException와 패키지 가시성 (0) | 2021.10.15 |
To use Coroutine features, you must add `ktx` artifact from Room as a dependency (0) | 2021.06.25 |
Glide를 활용한 WebView 이미지 로드 속도 높이기 (0) | 2021.06.15 |
LiveData와 MutableLiveData 차이점 (0) | 2021.05.19 |
댓글