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