JVM에서 JUnit을 사용한 테스트 코드 – 튜토리얼
이 튜토리얼은 Kotlin/JVM 프로젝트에서 간단한 단위 테스트를 작성하고 Gradle 빌드 도구를 사용하여 실행하는 방법을 보여줍니다.
이 프로젝트에서는 kotlin.test
라이브러리를 사용하고 JUnit을 사용하여 테스트를 실행합니다. 멀티플랫폼 앱에서 작업하는 경우 Kotlin Multiplatform 튜토리얼을 참조하세요.
시작하려면 먼저 최신 버전의 IntelliJ IDEA를 다운로드하여 설치합니다.
의존성 추가
IntelliJ IDEA에서 Kotlin 프로젝트를 엽니다. 프로젝트가 없다면, 새로 생성합니다.
build.gradle(.kts)
파일을 열고testImplementation
의존성이 있는지 확인합니다. 이 의존성은kotlin.test
및JUnit
과 함께 작업할 수 있도록 합니다.kotlindependencies { // Other dependencies. testImplementation(kotlin("test")) }
groovydependencies { // Other dependencies. testImplementation 'org.jetbrains.kotlin:kotlin-test' }
test
태스크를build.gradle(.kts)
파일에 추가합니다.kotlintasks.test { useJUnitPlatform() }
groovytest { useJUnitPlatform() }
빌드 스크립트에서
useJUnitPlatform()
함수를 사용하면,kotlin-test
라이브러리가 JUnit 5를 자동으로 의존성으로 포함합니다. 이 설정은 JVM 전용 프로젝트와 Kotlin 멀티플랫폼(KMP) 프로젝트의 JVM 테스트에서 모든 JUnit 5 API와kotlin-test
API에 접근할 수 있도록 합니다.
다음은 build.gradle.kts
의 전체 코드입니다.
plugins {
kotlin("jvm") version "2.2.10"
}
group = "org.example"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
}
dependencies {
testImplementation(kotlin("test"))
}
tasks.test {
useJUnitPlatform()
}
테스트할 코드 추가
src/main/kotlin
에 있는Main.kt
파일을 엽니다.src
디렉터리에는 Kotlin 소스 파일과 리소스가 포함되어 있습니다.Main.kt
파일에는Hello, World!
를 출력하는 샘플 코드가 포함되어 있습니다.두 정수를 더하는
sum()
함수를 가진Sample
클래스를 생성합니다.
class Sample() {
fun sum(a: Int, b: Int): Int {
return a + b
}
}
테스트 생성
- IntelliJ IDEA에서
Sample
클래스에 대해 Code | Generate | **Test...**를 선택합니다.
- 테스트 클래스의 이름을 지정합니다. 예를 들어,
SampleTest
입니다.
IntelliJ IDEA가 test
디렉터리에 SampleTest.kt
파일을 생성합니다. 이 디렉터리에는 Kotlin 테스트 소스 파일과 리소스가 포함되어 있습니다.
src/test/kotlin
에 테스트용*.kt
파일을 수동으로 생성할 수도 있습니다.
SampleTest.kt
파일에sum()
함수를 위한 테스트 코드를 추가합니다.@Test
어노테이션을 사용하여 테스트testSum()
함수를 정의합니다.assertEquals()
함수를 사용하여sum()
함수가 예상 값을 반환하는지 확인합니다.
import org.example.Sample
import org.junit.jupiter.api.Assertions.*
import kotlin.test.Test
class SampleTest {
private val testSample: Sample = Sample()
@Test
fun testSum() {
val expected = 42
assertEquals(expected, testSample.sum(40, 2))
}
}
테스트 실행
- 거터 아이콘을 사용하여 테스트를 실행합니다.
./gradlew check
명령어를 사용하여 커맨드 라인 인터페이스를 통해 모든 프로젝트 테스트를 실행할 수도 있습니다.
- Run 도구 창에서 결과를 확인합니다.
테스트 함수가 성공적으로 실행되었습니다.
expected
변수 값을 43으로 변경하여 테스트가 올바르게 작동하는지 확인합니다.
@Test
fun testSum() {
val expected = 43
assertEquals(expected, classForTesting.sum(40, 2))
}
- 테스트를 다시 실행하고 결과를 확인합니다.
테스트 실행이 실패했습니다.
다음 단계
첫 번째 테스트를 완료한 후 다음을 수행할 수 있습니다.
- 다른
kotlin.test
함수를 사용하여 더 많은 테스트를 작성합니다. 예를 들어,assertNotEquals()
함수를 사용합니다. - Kotlin Power-assert 컴파일러 플러그인을 사용하여 테스트 출력을 개선합니다. 이 플러그인은 테스트 출력에 상황별 정보를 추가합니다.
- Kotlin과 Spring Boot로 첫 번째 서버 측 애플리케이션을 생성합니다.