[kotlin] Mockito를 사용한 코틀린에서의 다수의 메서드 호출(mocking) 테스트 방법
Mockito는 테스트 중인 코드에서 외부 의존성을 흉내내는 데 사용되는 가짜 객체를 생성하는 데 도움이 되는 라이브러리입니다. 모키토를 사용하여 다수의 메서드 호출을 테스트하는 방법을 알아보겠습니다.
1. Mockito 라이브러리 추가
먼저, build.gradle 또는 build.gradle.kts 파일에 Mockito 라이브러리를 추가합니다.
dependencies {
testImplementation("org.mockito:mockito-core:3.11.2")
}
2. Mockito를 사용하여 Mock 객체 생성
Mockito를 사용하여 다수의 메서드 호출을 테스트하기 위해 모키토 라이브러리를 사용하여 Mock 객체를 생성합니다.
import org.mockito.kotlin.mock
import org.mockito.kotlin.whenever
// 모키토를 사용하여 Mock 객체 생성
val mockObject = mock<YourClass>()
// Mock 객체의 메서드 호출과 반환 값 설정
whenever(mockObject.yourMethod()).thenReturn(yourValue)
3. 다수의 메서드 호출 테스트
Mockito를 사용하여 Mock 객체의 다수의 메서드 호출을 테스트하는 예시 코드를 작성했습니다.
import org.junit.jupiter.api.Test
import org.mockito.kotlin.mock
import org.mockito.kotlin.whenever
// 테스트 대상 코드
class YourClass {
fun method1(): String {
return "result1"
}
fun method2(): Int {
return 100
}
}
class YourTestClass {
@Test
fun testMultipleMethodCalls() {
// Mock 객체 생성
val mockObject = mock<YourClass>()
// Mock 객체의 메서드 호출과 반환 값 설정
whenever(mockObject.method1()).thenReturn("mockedResult1")
whenever(mockObject.method2()).thenReturn(200)
// 테스트 대상 코드에서 Mock 객체를 사용하여 다수의 메서드 호출
assertEquals("mockedResult1", mockObject.method1())
assertEquals(200, mockObject.method2())
}
}
위의 예시 코드는 Mockito를 사용하여 코틀린에서 다수의 메서드 호출을 테스트하는 방법을 보여줍니다.
이제 Mockito를 사용하여 코틀린에서 다수의 메서드 호출을 테스트하는 방법에 대해 간략하게 알아보았습니다.
참고: Mockito 공식 문서