Запуск тестов с Kotlin Multiplatform
По умолчанию Kotlin поддерживает запуск тестов для JVM, JS, Android, Linux, Windows, macOS, а также симуляторов iOS, watchOS и tvOS. Для запуска тестов для других целей Kotlin/Native необходимо настроить их вручную в соответствующей среде, эмуляторе или фреймворке для тестирования.
Необходимые зависимости
kotlin.test API доступен для многоплатформенных тестов. Когда вы создаете многоплатформенный проект, мастер проекта автоматически добавляет зависимости для тестирования в общую и платформенно-специфические наборы исходных файлов.
Если вы не использовали мастер проекта для создания проекта, вы можете добавить зависимости вручную.
Запуск тестов для одной или нескольких целей
Для запуска тестов для всех целей выполните задачу 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