[kotlin] 코틀린 Mockito를 활용하여 특정 메서드 호출 여부 검증하기
코틀린에서 Mockito를 사용해 테스트 케이스를 작성할 때, 특정 메서드가 호출되었는지를 검증해야 하는 경우가 있습니다. 이때 Mockito를 활용하여 간단하게 특정 메서드 호출 여부를 확인하는 방법을 알아보겠습니다.
Mockito 의존성 추가
먼저, build.gradle
또는 build.gradle.kts
파일에 Mockito 의존성을 추가합니다.
// build.gradle
dependencies {
testImplementation("org.mockito:mockito-core:3.11.2")
}
// build.gradle.kts
dependencies {
testImplementation("org.mockito:mockito-core:3.11.2")
}
의존성을 추가한 후, 프로젝트를 동기화하여 Mockito를 사용할 수 있도록 설정합니다.
테스트 작성
다음은 UserService
클래스와 그에 대한 테스트 코드입니다. UserService
클래스는 saveUser
메서드를 가지고 있습니다.
class UserService {
fun saveUser(name: String) {
// save user logic
}
}
이제 Mockito를 사용하여 saveUser
메서드가 호출되었는지 테스트하는 코드를 작성해보겠습니다.
import org.junit.jupiter.api.Test
import org.mockito.kotlin.mock
import org.mockito.kotlin.verify
class UserServiceTest {
@Test
fun `test saveUser method is called`() {
// given
val userService = mock<UserService>()
// when
userService.saveUser("John Doe")
// then
verify(userService).saveUser("John Doe")
}
}
위 코드에서 mock<UserService>()
를 사용하여 UserService
의 mock을 생성합니다. 그런 다음 verify
를 사용하여 saveUser
메서드가 “John Doe” 파라미터와 함께 호출되었는지를 확인합니다.
이렇게하면 Mockito를 사용하여 특정 메서드 호출 여부를 손쉽게 테스트할 수 있습니다.
이상으로 코틀린 Mockito를 활용하여 특정 메서드 호출 여부를 검증하는 방법에 대해 알아보았습니다.