[kotlin] Hamcrest의 조합 매처
소개
Hamcrest는 자바 테스트 라이브러리 중 하나로, 테스트 코드를 더 가독성 있고 유연하게 만들어주는 매처 라이브러리입니다. 일반적으로 Hamcrest를 사용하여 테스트 조건을 자연어에 가깝게 작성할 수 있습니다.
Hamcrest 기본 매처
Hamcrest는 동등성 검사, 값 비교, 컬렉션 요소 포함 여부 등 다양한 검사 기능을 제공합니다. is()
, equalTo()
, containsString()
, hasItem()
등의 기본 매처를 사용하여 단순한 검사를 작성할 수 있습니다.
조합 매처
조합 매처는 여러 개의 매처를 결합하여 복잡한 검사를 수행하는 데 사용됩니다. allOf()
, anyOf()
, not()
등의 함수를 사용하여 다중 조건을 조합할 수 있습니다.
예제
다음은 Hamcrest를 사용하여 조합 매처를 적용하는 간단한 케이스의 코틀린 코드입니다.
import org.hamcrest.CoreMatchers.*
import org.hamcrest.MatcherAssert.assertThat
fun main() {
val number = 10
assertThat(number, allOf(greaterThan(5), lessThan(20)))
}
위의 예제에서는 greaterThan()
과 lessThan()
을 조합하여 number
가 5보다 크고 20보다 작은지를 확인하고 있습니다.