[kotlin] Mockito와 함께하는 코틀린 테스트 케이스 작성법

Mockito는 Java와 코틀린에서 모의 객체를 만들고 테스트하는 데 도움을 주는 인기있는 라이브러리입니다. Mockito를 사용하여 코틀린 테스트 케이스를 작성하는 방법에 대해 알아보겠습니다.

Mockito 라이브러리 추가하기

먼저, Mockito를 프로젝트에 추가해야 합니다. Gradle을 사용하는 경우 build.gradle 파일에 다음 종속성을 추가합니다:

dependencies {
    testImplementation 'org.mockito:mockito-core:3.12.4'
}

Maven을 사용하는 경우 pom.xml 파일에 다음 종속성을 추가합니다:

<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-core</artifactId>
    <version>3.12.4</version>
    <scope>test</scope>
</dependency>

의존성을 추가한 후 프로젝트를 다시 빌드합니다.

모의 객체 만들기

이제 모의 객체를 만들어보겠습니다. 모의 객체는 실제 객체처럼 동작하지만 프로그래머가 원하는 방식으로 동작하도록 설정할 수 있습니다. 코틀린에서는 mock() 함수를 사용하여 모의 객체를 만들 수 있습니다:

val mockedList = mock<MutableList<String>>()

모의 객체를 만든 후에는 when-then 구문을 사용하여 메서드 호출에 대한 동작을 설정할 수 있습니다:

`when`(mockedList.add("item")).thenReturn(true)

모의 객체 사용하기

모의 객체를 사용하여 테스트 케이스를 작성할 수 있습니다. 예를 들어, 다음과 같이 모의 객체를 사용하여 메서드를 호출하고 그 결과를 확인할 수 있습니다:

@Test
fun testAddItem() {
    val mockedList = mock<MutableList<String>>()
    `when`(mockedList.add("item")).thenReturn(true)

    val result = myObjectUnderTest.addItemToList("item", mockedList)

    assertTrue(result)
}

위의 예제에서는 myObjectUnderTestmockedList에 “item”을 추가할 때의 동작을 테스트하는 방법을 보여줍니다.

Mockito를 사용하여 코틀린에서 테스트 케이스를 작성하는 방법을 알아보았습니다. 이를 통해 효율적으로 유닛 테스트를 작성하고 코드의 신뢰성을 높일 수 있습니다.

참고 문헌: