Kotest Konform 매처(Konform Matchers)
Konform 매처는 테스트에 사용하여 지정된 개체가 유효성 검사를 통과했는지 또는 유효성 검사에 실패했는지 확인할 수 있다.
Kotest는 Konform과 함께 사용할 수 있는 다양한 매처(mathers)를 제공한다. 이 매처는 테스트에 사용하여 지정된 개체가 유효성 검사를 통과했는지 또는 유효성 검사에 실패했는지 확인할 수 있다.
이 매처를 사용하려면, 빌드에 io.kotest.extensions:kotest-assertions-konform:<version>
구현을 추가해야 한다. 이 모듈은 JVM 및 JS 대상 모두에 사용할 수 있다.
기본 데이터 클래스부터 보도록 하겠다:
data class UserProfile(
val fullName: String,
val age: Int?
)
그런 다음 다음과 같은 사용자 프로필 유효성 검사기가 주어진다:
val validateUser = Validation<UserProfile> {
UserProfile::fullName {
minLength(4)
maxLength(100)
}
UserProfile::age ifPresent {
minimum(21)
maximum(99)
}
}
다음과 같이 인스턴스가 유효성 검사를 통과하는지 테스트할 수 있다:
val alice = UserProfile("Alice", 25)
validateUser shouldBeValid alice
그리고 다음과 같은 특정 오류 메시지를 통해 인스턴스가 유효성 검사에 실패했는지 테스트할 수 있다:
val bob = UserProfile("bob", 18)
validateUser.shouldBeInvalid(bob) {
it.shouldContainError(UserProfile::fullName, "must have at least 4 characters")
it.shouldContainError(UserProfile::age, "must be at least '21'")
}
매처 | 설명 |
---|---|
validation.shouldBeValid(value) |
주어진 값에 대해 유효성 검사가 유효한지 확인한다. |
validation.shouldBeInvalid(value) |
주어진 값에 대해 유효성 검사가 유효하지 않은지 확인한다. |
validation.shouldBeInvalid(value) { block } |
주어진 값에 대해 유효성 검사가 유효하지 않은지 확인하고, 유효하지 않은 값으로 블록을 실행한다. |
참조
최종 수정 : 2024-04-14