Kotlin MockK 사용 가이드

MockK

MockK는 테스트 코드를 작성하기 위한 코틀린 Mock 라이브러리이다.
(기존에 Java에서의 Mockito를 같은 것으로 보면 된다.)

설치

먼저 Mockk을 사용하려면 의존 라이브러리를 추가해야 한다.
https://mvnrepository.com/artifact/io.mockk/mockk

Gradle

testImplementation("io.mockk:mockk:1.12.0")

Maven

<dependency>
    <groupId>io.mockk</groupId>
    <artifactId>mockk</artifactId>
    <version>1.12.0</version>
    <scope>test</scope>
</dependency>

verify - 메소드가 호출되었는지 체크

mocking 된 객체의 메소드가 호출된 것을 확인하기 위해 ``verify` 를 사용한다.

// save() 메소드가 1번 호출됐는지 확인
verify(exactly = 1) { myMock.save(any()) }

// save() 메소드가 호출되지 않았는지 확인
verify(exactly = 0) { myMock.save(any()) }

위의 예제처럼 특정 메소드를 호출하지 않은 것을 확인하기 위해 exactly = 0 로 체크할 수도 있지만, 해당 객체의 어떤 메소드도 호출하지 않은걸 체크하려면 wasNot Called 를 사용하면 된다. 모든 메소드 호출을 체크하기 때문에 좋다.

참고