티스토리 뷰
안드로이드에 대한 단위테스트는 Espresso, Android JUnit4 등이 있음.
여기서는 기능을 테스트하는 AndroidJUnit4에 대해서 알아봄.
* 참고 : 안드로이드의 자원을 사용하거나, UI 테스트, 프레임워크와 종속성을 갖는 경우 등에 대한 테스트는 안드로이드 개발 문서를 참고하여 테스트를 진행해야 함..... ( 의존성 없는 메소드에 대한 리턴값을 확인함 )
https://developer.android.com/training/testing/unit-testing/local-unit-tests?hl=ko
1. 단위테스트를 수행할 테스트 라이브러리가 필요
- build.gradle
: android{defaultConfig{ testInstrumenttaionRunner "androidx.test.runner.AndroidJUnitRunner"}} 추가
: junit, androidx.test.ext 라이브러리 추가
2. 테스트하고자 하는 기능
- 테스트하고자 하는 기능은 구현한 클래스 내에 getRepeatAlarmTime 메소드임
3. 테스트 클래스 만들기
- android project 생성하면 "src > androidTest > java > 프로젝트 명" 에 Test할 수 있는 클래스를 생성함
- RepeatAlarmTimeSetTest 클래스 생성
* @RunWith(AndroidJUnit4.class) 를 추가하고, @Test 할 메소드 생성
***************추가
단순 기능에 대한 단위 테스트이면 "src>test>java>패키지명" 에서는 JUnit 단위테스트를 수행할 수 있는데 수행이 안됨. 이유는 getRepeatAlarmTime 메소드에는 안드로이드의 종속성을 갖는 Log.d가 포함되어 있었음.
해당 Log 부분을 지우느까 단위테스트가 진행됨.
단순 기능 테스트라면 다음과 같이 단위테스트 수행.
'android' 카테고리의 다른 글
[android] Proguard 해제하는 방법 (0) | 2020.03.10 |
---|---|
[안드로이드 ] KeyguardManager 에 대해서.... (0) | 2020.02.12 |
[android] MediaPlayer 상태 천이도 - SKTAcademy (0) | 2020.01.22 |
[android] listview 에서 listview item 클릭이 안될 경우 (0) | 2020.01.22 |
[android]Error inflating class : YouTubePlayerView 에러 발생 해결방법 (0) | 2020.01.14 |