Запуск тестов с Kotlin Multiplatform
По умолчанию Kotlin поддерживает запуск тестов для JVM, JS, Android, Linux, Windows, macOS, а также симуляторов iOS, watchOS и tvOS. Для запуска тестов на других целевых платформах Kotlin/Native необходимо настроить их вручную в соответствующей среде, эмуляторе или фреймворке для тестирования.
Необходимые зависимости
API kotlin.test доступен для многоплатформенных тестов. При создании многоплатформенного проекта с помощью мастера проекта, зависимости для тестов автоматически добавляются в общий и специфичные для платформы наборы исходных кодов.
Если вы не использовали мастер проекта для создания проекта, вы можете добавить зависимости вручную.
Запуск тестов для одной или нескольких платформ
Для запуска тестов для всех платформ выполните задачу check.
Для запуска тестов для конкретной целевой платформы, подходящей для тестирования, выполните задачу <targetName>Test.
Тестирование общего кода
Для тестирования общего кода вы можете использовать действительные объявления в своих тестах.
Например, для тестирования общего кода в commonMain:
expect object Platform {
val name: String
}
fun hello(): String = "Hello from ${Platform.name}"
class Proxy {
fun proxyHello() = hello()
}
Вы можете использовать следующий тест в commonTest:
import kotlin.test.Test
import kotlin.test.assertTrue
class SampleTests {
@Test
fun testProxy() {
assertTrue(Proxy().proxyHello().isNotEmpty())
}
}
И следующий тест в iosTest:
import kotlin.test.Test
import kotlin.test.assertTrue
class SampleTestsIOS {
@Test
fun testHello() {
assertTrue("iOS" in hello())
}
}
Вы также можете узнать, как создавать и запускать многоплатформенные тесты в учебнике по созданию и публикации многоплатформенной библиотеки.
© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/multiplatform-run-tests.html