[kotlin] 코틀린에서 Mockito를 사용한 객체 mocking하기
코틀린에서 Mockito를 사용하여 객체를 mocking하는 방법을 알아보겠습니다.
Mockito란?
Mockito는 자바 언어용 mocking 라이브러리로, 테스트 중인 코드에서 외부 의존성을 mocking하여 목적에 맞게 동작하도록 하는 데 사용됩니다.
코틀린 프로젝트에 Mockito 추가하기
먼저, 코틀린 프로젝트에서 Mockito를 사용하려면 의존성을 추가해야 합니다. Gradle을 사용하는 경우 build.gradle
파일에 다음 의존성을 추가합니다.
testImplementation 'org.mockito:mockito-core:3.11.2'
Maven을 사용하는 경우 pom.xml
파일에 다음 의존성을 추가합니다.
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>3.11.2</version>
</dependency>
의존성을 추가한 후 프로젝트를 새로고침하여 Mockito를 사용할 준비가 되었습니다.
객체 mocking하기
이제 실제 코드에서 객체를 mocking하는 방법을 살펴보겠습니다. 아래는 예시 클래스와 이를 mocking하는 방법입니다.
예시 클래스
class Greeting {
fun greet(name: String): String {
return "Hello, $name!"
}
}
테스트 클래스
import org.junit.jupiter.api.Test
import org.mockito.Mockito.`when`
class GreetingTest {
@Test
fun `should return custom greeting`() {
val mockedGreeting = mock(Greeting::class.java)
`when`(mockedGreeting.greet("John")).thenReturn("Hello, John!")
val result = mockedGreeting.greet("John")
assert(result == "Hello, John!")
}
}
위의 코드에서 mock
함수를 사용하여 Greeting
클래스의 mocked 인스턴스를 생성하고, when
함수를 사용하여 greet
메서드에 대한 동작을 정의하고 있습니다.
이제 위의 예제를 참고하여 Mockito를 사용하여 Kotlin에서 객체를 mocking하는 방법을 적용해 볼 수 있습니다.
더 자세한 내용은 Mockito 공식 문서를 참고하시기 바랍니다.
마무리
이제 Mockito를 사용하여 Kotlin에서 객체를 mocking하는 방법을 알아보았습니다. Mockito를 사용하여 테스트 중인 코드의 의존성을 효과적으로 mocking함으로써 테스트 작성을 더욱 쉽고 효율적으로 수행할 수 있습니다.