Spec-Zone.ru › Kotlin 1.9

Запуск тестов с 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())
    }
}

Вы также можете узнать, как создавать и запускать многоплатформенные тесты в учебнике «Создание и публикация многоплатформенной библиотеки».

Последнее изменение: 16 ноября 2022 г.
Добавление зависимостей iOS Настройка компиляций

© 2010–2023 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API