Kotest 단언문 모드(Assertion Mode)
Assertion Mode는 테스트에서 Assertion이 실행을 하지 않는 테스트가 실행될 경우에 제어하는 옵션이다.
Assertion Mode
Kotest 단언문과 함께 Kotest 프레임워크를 사용하는 경우, 단언문을 실행하지 않는 테스트가 실행되는 경우 빌드에 실패하도록 요청하거나 stderr에 경고를 출력할 수 있다.
이렇게 하려면, 스펙 내에서 assertionMode
를 AssertionMode.Error
또는 AssertionMode.Warn
으로 설정한다.
예를 들어:
import io.kotest.core.spec.style.FunSpec
import io.kotest.core.test.AssertionMode
class MySpec : FunSpec() {
init {
assertions = AssertionMode.Error
test("this test has no assertions") {
val name = "devkuma"
name.length == 7 // this isn't actually testing anything
}
}
}
이 테스트를 실행하면 다음과 같은 결과가 출력된다:
Test 'this test has no assertions' did not invoke any assertions
전역으로 설정하려면 프로젝트 구성에서 또는 시스템 속성 kotest.framework.assertion.mode
를 통해 설정할 수 있다.
NOTE
단언문 모드(Assertion Mode)는 Kotest 단언문에만 작동하며 다른 단언문 라이브러리에는 작동하지 않는다.참조
최종 수정 : 2024-04-21