Kotest 예외 테스트(Testing Exceptions)
Kotest에서의 예외 테스트에 대해 설명한다.
Kotest 예외 테스트
Kotest를 사용하면 예외를 쉽게 테스트할 수 있다:
package com.devkuma.kotest.tutorial.exceptions
import io.kotest.assertions.throwables.shouldNotThrow
import io.kotest.assertions.throwables.shouldThrow
import io.kotest.core.spec.style.FreeSpec
import io.kotest.matchers.shouldBe
class ExceptionTest : FreeSpec({
"예외 발생 테스트" - {
"예외가 발생하는 경우" {
// 예외가 발생하는 코드를 실행하고 해당 예외를 잡는다.
val errorProneFunction: () -> Unit = {
throw IllegalArgumentException("예외 발생!")
}
val exception = shouldThrow<IllegalArgumentException> {
errorProneFunction()
}
// 예상한 예외가 발생한 경우 테스트를 통과한다.
exception.message shouldBe "예외 발생!"
}
"예외가 발생하지 않는 경우" {
// 예외가 발생하지 않는 코드를 실행하고 예외가 발생하지 않음을 확인한다.
val safeFunction: () -> Unit = {}
val exception = shouldNotThrow<IllegalArgumentException> {
safeFunction()
}
// 예외가 발생하지 않은 경우 테스트를 통과한다.
exception shouldBe null
}
}
})
참조
최종 수정 : 2024-04-24