Запуск тестов в Kotlin/JS
Плагин Kotlin Multiplatform Gradle позволяет запускать тесты с помощью различных исполнителей тестов, которые можно указать в конфигурации Gradle.
При создании проекта с поддержкой нескольких платформ мастер-помощник проекта автоматически добавляет зависимости для тестов ко всех наборам исходных данных. Если вы создали проект без этого, вы можете вручную добавить зависимости, чтобы аннотации и функциональность тестов были доступны для целевой платформы JavaScript:
// build.gradle.kts
kotlin {
sourceSets {
val commonTest by getting {
dependencies {
implementation(kotlin("test")) // This brings all the platform dependencies automatically
}
}
}
}
// build.gradle
kotlin {
sourceSets {
commonTest {
dependencies {
implementation kotlin("test") // This brings all the platform dependencies automatically
}
}
}
}
Вы можете настроить выполнение тестов в Kotlin/JS, скорректировав параметры в блоке testTask в скрипте сборки Gradle. Например, использование исполнителя тестов Karma вместе с безголовым экземпляром Chrome и экземпляром Firefox выглядит так:
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))
}
}
Для запуска тестов в браузере выполните задачу jsBrowserTest через IntelliJ IDEA или используйте значки на полях для выполнения всех или отдельных тестов:

В качестве альтернативы, если вы хотите запустить тесты через командную строку, используйте оболочку Gradle:
./gradlew jsBrowserTest
После запуска тестов из IntelliJ IDEA окно инструмента Запуск отобразит результаты тестов. Вы можете щелкнуть по не пройденным тестам, чтобы увидеть их стек-трейс, и перейти к соответствующей реализации теста двойным щелчком.

После каждого запуска тестов, независимо от того, как вы их запустили, вы можете найти отчёт о результатах тестов, отформатированный Gradle, в build/reports/tests/jsBrowserTest/index.html. Откройте этот файл в браузере, чтобы увидеть ещё один обзор результатов тестов:

Если вы используете набор примеров тестов, показанных в фрагменте кода выше, один тест проходит, а один тест не проходит, что даёт итоговый результат в 50% успешно выполненных тестов. Чтобы получить больше информации об отдельных тестовых случаях, вы можете перейти по предоставленным гиперссылкам:

© 2010–2023 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/js-running-tests.html