Kotlin/포스팅

코틀린 단언문

짜집퍼박사(짜박) 2024. 1. 10. 20:12

코틀린에서의 단언문은 특정 조건이나 상태가 참임을 명시적으로 검사하는 데 사용됩니다. 주로 테스트 코드에서나 디버깅 중에 사용되며, 코드가 예상대로 동작하는지 확인하는 데 유용합니다.

코틀린에서는 주로 assert 함수를 사용하여 단언문을 작성합니다. assert 함수는 주어진 조건이 true인지 확인하고, 조건이 false인 경우 예외를 발생시켜 프로그램을 중단시킵니다.

 

기본적인 assert 함수 사용

fun divide(a: Int, b: Int): Int {
    assert(b != 0) { "Divisor cannot be zero" }
    return a / b
}

fun main() {
    println(divide(10, 2)) // 출력: 5
    println(divide(8, 0))  // AssertionError: Divisor cannot be zero
}

위의 예제에서 assert(b != 0) { "Divisor cannot be zero" }는 b가 0이 아닌지 검사하고, 0이라면 "Divisor cannot be zero" 메시지를 포함하는 AssertionError를 발생시킵니다.

 

assert 함수의 두 번째 매개변수 사용

assert 함수의 두 번째 매개변수는 검사에 실패했을 때 예외 메시지를 제공합니다. 이는 검사에 실패한 경우에 디버깅 및 이해를 도움으로 제공할 수 있습니다.

val x = 10
val y = 20

assert(x == y) { "Values are not equal: x=$x, y=$y" }
run 함수를 사용한 단언문:
run 함수를 사용하여 블록 내에서 단언문을 실행할 수도 있습니다.

kotlin
Copy code
val result = run {
    val a = 5
    val b = 7
    a + b
}

assert(result == 12) { "Result is not equal to 12: $result" }

 

테스트 프레임워크에서의 사용

테스트 프레임워크에서는 단언문을 사용하여 예상 결과와 실제 결과를 비교하고, 테스트를 수행합니다.

import org.junit.jupiter.api.Test
import kotlin.test.assertEquals

class MyTest {

    @Test
    fun testAddition() {
        val result = 1 + 2
        assertEquals(3, result, "1 + 2 should be equal to 3")
    }
}

위의 예제에서 assertEquals 함수를 사용하여 예상 결과와 실제 결과를 비교하고, 만약 같지 않다면 지정한 메시지를 출력하면서 테스트가 실패하게 됩니다.

단언문은 코드의 무결성을 검증하고, 특히 테스트 코드에서는 예상대로 동작하는지 확인하는 데 중요한 역할을 합니다. 하지만 프로덕션 코드에서는 비즈니스 논리를 검증하는 데 사용하는 것보다 예외를 던지는 등의 방법을 고려하는 것이 더 좋습니다.

 

With ChatGPT

'Kotlin > 포스팅' 카테고리의 다른 글

코틀린 인스펙터  (0) 2024.01.10
코틀린 매처  (0) 2024.01.10
코틀린 코테스트 명세 스타일  (0) 2024.01.10
코틀린 코테스트 명세  (0) 2024.01.10
코틀린 테스팅  (0) 2024.01.10