Android 공부/단위테스트 관련

Mockito 설치

Machine_웅 2022. 5. 9. 13:42
728x90
반응형

Gradle 설정

Android Studio 프로젝트의 build.gradle에 다음과 같이 의존성을 설정합니다.

testImplementation 'junit:junit:4.12' // junit
androidTestImplementation("org.mockito:mockito-android:2.24.5")
testImplementation 'org.mockito:mockito-inline:2.21.0'

org.mockito:mockito-core를 사용해도 되지만 kotlin을 사용하는 경우 

org.mockito:mockito-inline를 사용하는 것이 좋습니다. (참고: Mockito cannot mock/spy final class error)

 

testImplementation 'org.mockito:mockito-inline:2.21.0'
// testImplementation 'org.mockito:mockito-core:2.28.2'

 

그리고, 다음과 같이 returnDefaultValues = true로 설정해 줍니다.

android {
    ...
    testOptions {
        unitTests.returnDefaultValues = true
    }
}

 

안드로이드 Unit test를 빌드할 때 사용하는 android.jar는 실제 코드가 포함되어있지 않습니다.

위의 설정은, 테스트 코드의 API가 구현되어있지 않을 때 null 또는 0등을 리턴하도록 하여

테스트가 진행되도록 만드는 것입니다.

 

모든 것을 mocking할 수 없기 때문에 필요한 것만 mocking하고

나머지는 기본 값을 리턴하도록 만드는 것이 편할 수 있습니다. (참고: Andorid Developer)

 

https://codechacha.com/ko/android-mockito-for-test/

 

Android Mockito로 Unit 테스트 코드 작성하기 (kotlin)

Mockito는 객체를 mocking하는데 사용되는 Java라이브러리입니다. when, thenReturn 등의 키워드를 사용하여 객체를 mocking할 수 있고, kotlin에서도 사용가능합니다. JVM Unit test 및 Instrumentation test에서 모두

codechacha.com

 

728x90
반응형