[Android/Kotlin] Live Data 테스트 오류 (Method getMainLooper in android.os.Looper not mocked.)
안드로이드 개발 중 TDD 개발 방식 연습 중 오류가 발생하였다. 알고 보니 라이브 데이터를 테스트하기 위한 설정이 잘 못 되어있었다.
TDD 개발 방식 연습 중 아래와 같은 오류와 마주쳤다.
Method getMainLooper in android.os.Looper not mocked. See http://g.co/androidstudio/not-mocked for details. java.lang.RuntimeException: Method getMainLooper in android.os.Looper not mocked.
JUnit4 환경에서 라이브 데이터를 테스트하기 위해서는 필요한 것보다 전 버전의 디펜던시가 선언되어 있었다. 아래 코드는 프로젝트 생성 시 자동으로 선언되어 있었다.
//앱 수준 build.gradle
dependencies {
testImplementation 'android.arch.core:core-testing:1.1.1'
}
추가로 테스트 코드에 Rule을 추가해야 한다.
문제 원인에 적힌 코드를 아래 코드로 변경해야한다.
//앱 수준 build.gradle
dependencies {
testImplementation 'androidx.arch.core:core-testing:2.1.0'
}
추가로 테스트 코드에 아래 Rule을 추가한다.
@get: Rule
var instantExecutorRule = InstantTaskExecutorRule()
LiveData 테스트 하기
LiveData 테스트, JUnit4, JUnit5, 확장함수 설정
velog.io
[Android] Hilt 라이브러리 Fragment 버전 호환 이슈 (1) | 2023.03.20 |
---|---|
[Android] 안드로이드 스튜디오 2021.2.1 버전 chipmunk firebase realtime-database gradle 설정 (2) | 2022.07.24 |
[Android/Kotlin] Koin 라이브러리 설정 문제 (0) | 2022.04.08 |
[Android/Kotlin] Navigation Safe Args 에러 해결 (0) | 2022.02.17 |
[Android/Kotlin/해결 ...?] 리사이클러뷰 mvvm 적용 관련 삽질 (0) | 2022.01.11 |