[kotlin] Hamcrest의 테스트 코드 실습

Hamcrest는 테스트 코드에서 간편하게 사용할 수 있는 매처 라이브러리로, 객체의 일부 특정 조건을 검증하거나 표현하는 데 있어서 더욱 풍부한 기능을 제공합니다. 이번에는 Kotlin으로 Hamcrest를 사용하는 방법을 알아보겠습니다.

Hamcrest 의존성 추가

먼저, build.gradle 또는 build.gradle.kts 파일에 Hamcrest 의존성을 추가합니다.

dependencies {
    testImplementation("org.hamcrest:hamcrest:2.2")
}

Hamcrest를 활용한 테스트 코드

다음으로, Hamcrest를 활용하여 테스트 코드를 작성해보겠습니다. 예를 들어, 리스트의 크기를 검증하는 테스트를 작성해보겠습니다.

import org.hamcrest.MatcherAssert.assertThat
import org.hamcrest.Matchers.hasSize
import kotlin.test.Test

class MyListTest {

    @Test
    fun `verify list size`() {
        val mylist = listOf("apple", "banana", "orange")
        assertThat(mylist, hasSize(3))
    }
}

위의 코드에서는 hasSize 매처를 사용하여 리스트의 크기가 3인지를 검증합니다.

다양한 매처 활용

Hamcrest에는 다양한 매처가 제공되며, 객체의 동등성, 문자열 패턴 매칭, 컬렉션 요소 포함 여부 등 다양한 조건을 검증할 수 있습니다. 테스트 시나리오에 맞게 적합한 매처를 선택하여 활용할 수 있습니다.

결론

이번 포스트에서는 Kotlin에서 Hamcrest를 사용하여 테스트 코드를 작성하는 방법을 살펴보았습니다. Hamcrest는 풍부한 매처 라이브러리를 제공하여 테스트 코드를 보다 가독성 있게 작성할 수 있도록 도와줍니다.

더 많은 정보는 Hamcrest 공식 홈페이지에서 확인할 수 있습니다.

Happy testing! 🚀