[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 공식 문서