Android Unit tests with an android dependency
사용 버전: Android Studio Koala 2024.1.1
안드로이드 Unit tests with an android dependency를 알아보겠습니다.
Unit(유닛) test(테스트) 또는 Local(로컬) test는 JVM에서 실행됩니다. 즉, Android와 관련된 패키지가 있다면 정상적으로 작동하지 않는다는 얘기입니다.
제 앱에 Unit test를 추가하다가 발견한 문제입니다.
Domain(도메인)에 있는 Usecase(유즈케이스)가 test에 사용되었습니다.
import android.net.InetAddresses
import android.os.Build
IP(아이피) 주소를 확인하기 위한 InetAddresses와 OS(운영체제)의 SDK(개발자 도구) 버전을 확인하기 위한 Build.VERSION.SDK_INT를 사용하였습니다.
보시다시피 android에 dependency(의존성)를 가집니다.
이러한 것을 해결하는 방법으로는 Mockito(모키토)를 사용하거나 android 의존성을 없애거나, Instrumented(계측) test에서 test를 진행하는 것입니다.
저는 InetAddresses를 Guava 라이브러리로 대체하며 os.Build도 같이 제거하였습니다.
이렇게 제거하니 test가 정상적으로 작동되더군요.
import com.google.common.net.InetAddresses
끝.
카테고리: Android
댓글
댓글 쓰기
궁금한 점은 댓글 달아주세요.
Comment if you have any questions.