[kotlin] Mockito를 활용한 코틀린 클래스의 메서드 mocking하기

Mockito를 활용하면 코틀린 애플리케이션에서 메서드를 mocking하여 테스트할 수 있습니다. 이 글에서는 Mockito를 사용하여 코틀린 클래스의 메서드를 mocking하는 방법을 살펴보겠습니다.

1. Mockito 의존성 추가

먼저, 프로젝트의 build.gradle 또는 build.gradle.kts 파일에 Mockito 의존성을 추가해야 합니다.

dependencies {
    testImplementation 'org.mockito.kotlin:mockito-kotlin:4.2.0'
}

또는

dependencies {
    testImplementation("org.mockito.kotlin:mockito-kotlin:4.2.0")
}

2. 코틀린 클래스 및 테스트 클래스 작성

다음으로, mocking할 코틀린 클래스와 해당 클래스를 테스트하는 테스트 클래스를 작성해야 합니다.

예를 들어, 다음과 같은 Calculator 클래스가 있다고 가정해봅시다.

class Calculator {
    fun add(a: Int, b: Int): Int {
        return a + b
    }
}

그리고 이 클래스를 테스트하는 CalculatorTest 클래스를 작성합니다.

import org.junit.Test
import org.mockito.kotlin.mock
import org.mockito.kotlin.whenever
import kotlin.test.assertEquals

class CalculatorTest {
    @Test
    fun testAdd() {
        // mocking
        val calculator = mock<Calculator>()
        whenever(calculator.add(2, 3)).thenReturn(5)

        // 테스트
        assertEquals(5, calculator.add(2, 3))
    }
}

위 코드에서 mock<Calculator>()를 사용하여 Calculator 클래스의 mock 객체를 생성하고, whenever 함수를 사용하여 add 메서드를 mocking하고 있습니다.

결론

위와 같이 Mockito를 활용하면 코틀린 애플리케이션에서 메서드를 mocking하여 테스트할 수 있습니다. 이를 통해 코틀린 클래스의 메서드를 효율적으로 테스트할 수 있게 됩니다.

참조: Mockito-Kotlin GitHub