[kotlin] JUnit 테스트와 로깅

JUnit은 자바 언어를 위한 테스트 프레임워크이며, 코드의 품질을 향상시키고 안정성을 확보하는 데 도움이 됩니다. 또한, 테스트 주도 개발(Test-Driven Development, TDD) 방법론을 따를 수 있도록 도와줍니다. 이번에는 JUnit을 사용하여 간단한 테스트 코드를 작성하고, 로깅을 통해 테스트 결과를 확인하는 방법에 대해 알아보겠습니다.

JUnit 테스트 작성하기

우선, 간단한 Kotlin 클래스를 작성해보겠습니다.

class Calculator {
    fun add(a: Int, b: Int): Int {
        return a + b
    }
}

위의 코드는 두 정수를 더하는 Calculator 클래스를 정의한 것입니다.

이제 JUnit을 사용하여 해당 Calculator 클래스의 add 메소드를 테스트하는 코드를 작성해보겠습니다.

import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test

class CalculatorTest {
    private val calculator = Calculator()

    @Test
    fun testAdd() {
        assertEquals(2, calculator.add(1, 1))
        assertEquals(5, calculator.add(2, 3))
    }
}

위의 코드에서 @Test 어노테이션은 해당 메소드가 JUnit 테스트 메소드임을 나타내며, assertEquals 함수를 사용하여 기대값과 실제 값이 같은지 확인합니다.

로깅을 통한 테스트 결과 확인하기

JUnit에서는 로깅을 통해 테스트의 결과를 확인할 수 있습니다. 각각의 테스트 메소드가 실행될 때 로그를 출력하여, 각 테스트가 성공했는지 혹은 실패했는지를 쉽게 확인할 수 있습니다.

로깅을 위해 Kotlin의 내장 로깅 라이브러리 중 하나인 Log4j를 사용해보겠습니다.

import org.apache.log4j.Logger

class Calculator {
    private val logger = Logger.getLogger(Calculator::class.java)

    fun add(a: Int, b: Int): Int {
        val result = a + b
        logger.info("Adding $a and $b, result is $result")
        return result
    }
}

위의 코드는 add 메소드를 호출할 때 로그를 출력하도록 하여, 테스트 수행 결과를 확인할 수 있도록 하는 예시입니다.

마무리

이제 JUnit을 사용하여 간단한 테스트 코드를 작성하고, 로깅을 통해 테스트 결과를 확인하는 방법에 대해 알아보았습니다. JUnit을 통한 테스트와 로깅을 활용하여 안정적이고 품질 좋은 코드를 작성하는 데 도움이 되길 바랍니다.

References