문제
최근 안드로이드 테스트에 대한 필요성을 느끼고 안드로이드에서 테스트 코드 작성 방법에 대해 공부를 시작했습니다.
이것저것 찾아보다가 직접 테스트 코드를 작성하려고 하던 찰나... 프로젝트 생성시 기본적으로 작성되어있던 코드가 실행이 안되는 현상이 발생했습니다.
정확히는 프로젝트 생성시 기본으로 test와 androidTest 두 패키지가 자동으로 생성되는데 이 중에서 androidTest 패키지의 기본 테스트 코드를 실행하면 빌드 도중 무한 로딩이 걸렸습니다.
아래 스크린샷 상태에서 아무리 기다려도 넘어가질 않았습니다.
스크린샷에는 7분이라고 되어있지만 1시간 넘게 기다려도 넘어가지를 않았습니다.
우측 하단에 Gradle Build Running도 계속 돌아갑니다. 취소하고 다시 해도 해결이 되지 않았습니다.
하단의 Run 창에서도 테스트가 아직 통과하지 못했다고 표시됩니다.
문제를 해결하기 위해 여러 방법을 시도해보다가 혹시나 싶어 Logcat을 열어보았습니다. Logcat을 열심히 분석하던 도중 테스트코드를 실행하면 아래와 같은 exception이 발생하는 것을 발견했습니다. 그러나 구글에 동일한 오류에 대한 해결 방법은 찾지 못했습니다.
조금 더 범위를 넓혀 구글링을 하다가 gradle에 추가적으로 패키지를 삭제하거나 넣어보라는 글을 발견했습니다. 그러다가 드디어 해결 방법을 찾았습니다!
해결 방법
제가 해결한 방법은 다음과 같습니다. Module수준의 build.gradle에 아래의 dependency를 추가해줍니다.
implementation("android.test:core-ktx:1.5.0")
구글링을 한 시간에 비해 허무할 정도로 간단한 해결 방법이네요.
gradle 수정 후 sync는 꼭 해주세요.
sync 후 테스트 코드를 실행하니 아래와 같이 빌드가 성공하는 것을 확인했습니다.
Logcat에도 오류가 보이지 않습니다.
마지막으로 Run에서도 테스트가 성공했다고 표시되네요.
'Android' 카테고리의 다른 글
[Jetpack Compose] 동일한 TextField에서 IME 키보드 다시 안열림 해결 (0) | 2023.12.30 |
---|---|
[Jetpack Compose] IME 키보드에 내용이 가려짐 해결 (0) | 2023.12.18 |
[Android Jetpack Compose] if문, when문에 따라 Composable이 바뀔 때 코드 실행 순서 (0) | 2023.05.12 |