Kotlin/JS에서 테스트 실행하기
Kotlin 멀티플랫폼 Gradle 플러그인을 사용하면 Gradle 설정을 통해 지정할 수 있는 다양한 테스트 러너를 통해 테스트를 실행할 수 있습니다.
멀티플랫폼 프로젝트를 생성할 때, commonTest에서 단일 의존성을 사용하여 JavaScript 타겟을 포함한 모든 소스 세트에 테스트 의존성을 추가할 수 있습니다.
// build.gradle.kts
kotlin {
sourceSets {
commonTest.dependencies {
implementation(kotlin("test")) // 이 설정은 JS에서 테스트 어노테이션과 기능을 사용할 수 있게 합니다.
}
}
}// build.gradle
kotlin {
sourceSets {
commonTest {
dependencies {
implementation kotlin("test") // 이 설정은 JS에서 테스트 어노테이션과 기능을 사용할 수 있게 합니다.
}
}
}
}Gradle 빌드 스크립트의 testTask 블록에서 사용 가능한 설정을 조정하여 Kotlin/JS에서 테스트가 실행되는 방식을 미세 조정할 수 있습니다. 예를 들어, Karma 테스트 러너를 헤드리스(headless) 크롬 인스턴스 및 파이어폭스 인스턴스와 함께 사용하는 방법은 다음과 같습니다.
kotlin {
js {
browser {
testTask {
useKarma {
useChromeHeadless()
useFirefox()
}
}
}
}
}사용 가능한 기능에 대한 자세한 설명은 테스트 태스크 구성에 관한 Kotlin/JS 레퍼런스를 확인하세요.
기본적으로 플러그인에는 브라우저가 포함되어 있지 않다는 점에 유의하세요. 즉, 대상 시스템에서 브라우저를 사용할 수 있는지 직접 확인해야 합니다.
테스트가 제대로 실행되는지 확인하려면 src/jsTest/kotlin/AppTest.kt 파일을 추가하고 다음 내용을 입력하세요.
import kotlin.test.Test
import kotlin.test.assertEquals
class AppTest {
@Test
fun thingsShouldWork() {
assertEquals(listOf(1,2,3).reversed(), listOf(3,2,1))
}
@Test
fun thingsShouldBreak() {
assertEquals(listOf(1,2,3).reversed(), listOf(1,2,3))
}
}브라우저에서 테스트를 실행하려면 IntelliJ IDEA를 통해 jsBrowserTest 태스크를 실행하거나, 거터(gutter) 아이콘을 사용하여 전체 또는 개별 테스트를 실행하세요.

또는 커맨드 라인을 통해 테스트를 실행하려면 Gradle 래퍼(wrapper)를 사용하세요.
./gradlew jsBrowserTestIntelliJ IDEA에서 테스트를 실행하면 Run 도구 창에 테스트 결과가 표시됩니다. 실패한 테스트를 클릭하면 스택 트레이스(stack trace)를 볼 수 있으며, 더블 클릭하면 해당 테스트 구현으로 이동할 수 있습니다.

테스트 실행 방식과 관계없이 각 테스트를 실행한 후에는 Gradle에서 생성한 적절한 형식의 테스트 보고서를 build/reports/tests/jsBrowserTest/index.html에서 찾을 수 있습니다. 이 파일을 브라우저에서 열어 테스트 결과의 또 다른 개요를 확인하세요.

위의 코드 스니펫에 표시된 예제 테스트 세트를 사용하는 경우, 하나는 통과하고 하나는 실패하여 총 50%의 테스트 성공률이 나타납니다. 개별 테스트 케이스에 대한 자세한 정보를 보려면 제공된 하이퍼링크를 통해 이동할 수 있습니다.

