Kotest 단언문 모드(Assertion Mode)

Assertion Mode는 테스트에서 Assertion이 실행을 하지 않는 테스트가 실행될 경우에 제어하는 옵션이다.

Assertion Mode

Kotest 단언문과 함께 Kotest 프레임워크를 사용하는 경우, 단언문을 실행하지 않는 테스트가 실행되는 경우 빌드에 실패하도록 요청하거나 stderr에 경고를 출력할 수 있다.

이렇게 하려면, 스펙 내에서 assertionModeAssertionMode.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를 통해 설정할 수 있다.


참조




최종 수정 : 2024-04-21