[kotlin] 코틀린에서 Mockito를 활용하여 여러 요청에 대한 응답값(mocking) 테스트
Mockito는 코틀린에서 유닛 테스트를 작성할 때 외부 의존성을 대체하기 위해 주로 사용되는 테스트 더블 라이브러리 중 하나입니다. Mockito를 사용하여 외부 서비스에 대한 요청 및 응답값을 mocking
하여 각종 시나리오에 대한 테스트를 수행할 수 있습니다.
Mockito 설치 및 설정
먼저 프로젝트 내의 build.gradle
파일에 Mockito의 의존성을 추가해야 합니다.
testImplementation 'org.mockito:mockito-core:3.11.2'
의존성을 추가한 후에는 src/test
디렉토리에 Mock 테스트를 작성할 수 있습니다.
Mockito를 활용한 mocking 예제
아래는 Mockito를 사용하여 특정 API 호출에 대한 응답값을 설정한 후에 테스트하는 간단한 예제입니다.
import org.junit.Test
import org.junit.Assert.assertEquals
import org.mockito.Mockito.`when`
import org.mockito.Mockito.mock
class ApiServiceTest {
@Test
fun testApiResponse() {
val mockApiService = mock(ApiService::class.java)
`when`(mockApiService.getData(1)).thenReturn("Mocked Data")
val result = mockApiService.getData(1)
assertEquals("Mocked Data", result)
}
}
위 코드에서는 ApiService
클래스의 getData
메서드에 대한 Mock 객체를 생성하고, 해당 메서드가 1
을 인자로 받을 경우 “Mocked Data”를 리턴하도록 설정하였습니다.
테스트 메소드에서는 getData
메서드에 인자로 1
을 전달한 후에 “Mocked Data”가 리턴되는지를 검증하고 있습니다.
마무리
Mockito를 사용하면 외부 의존성이나 서비스 호출에 관련된 테스트에 대해 간편하게 mocking
하여 테스트할 수 있습니다. 이를 통해 다양한 시나리오에 대한 테스트를 빠르게 작성하고 안정성을 확보할 수 있습니다.
더 많은 Mockito의 기능 및 활용법에 대해서는 공식 문서를 참고하시기 바랍니다.