Spec-Zone.ru › Kotlin 1.7

Источник времени для тестов

kotlin-stdlib / kotlin.time / Источник времени для тестов
Требования к платформе и версии: JVM (1.3), JS (1.3), Native (1.3)
@ExperimentalTime class TestTimeSource : 
    AbstractLongTimeSource

Источник времени, значения которого можно программно обновлять. Он полезен в качестве предсказуемого источника времени в тестах.

Текущее значение можно изменить на указанную продолжительность с помощью оператора plusAssign:

val timeSource = TestTimeSource()
timeSource += 10.seconds

Примечание к реализации: текущее значение времени хранится как число Long наносекунд, поэтому оно способно представлять диапазон времени примерно ±292 года. В случае переполнения значения при операции plusAssign будет выброшено исключение IllegalStateException.

Конструкторы

Требования к платформе и версии: JVM (1.0), JS (1.0), Native (1.0)

<init>

Источник времени, значения которого можно программно обновлять. Он полезен в качестве предсказуемого источника времени в тестах.

TestTimeSource()

Функции

Требования к платформе и версии: JVM (1.0), JS (1.0), Native (1.0)

plusAssign

Увеличивает текущее значение времени этого источника на указанную продолжительность.

operator fun plusAssign(duration: Duration)
Требования к платформе и версии: JVM (1.0), JS (1.0), Native (1.0)

read

Этот защищенный метод должен быть переопределен для возврата текущего значения времени источника в виде числа Long в единицах, определенных свойством unit.

fun read(): Long

Расширяющие функции

Требования к платформе и версии: JVM (1.3), JS (1.3), Native (1.3)

measureTime

Выполняет заданную функцию block и возвращает длительность интервала затраченного времени.

fun TimeSource.measureTime(block: () -> Unit): Duration
Требования к платформе и версии: JVM (1.3), JS (1.3), Native (1.3)

measureTimedValue

Выполняет заданный block и возвращает экземпляр класса TimedValue, содержащий результат выполнения функции и длительность интервала затраченного времени.

fun <T> TimeSource.measureTimedValue(
    block: () -> T
): TimedValue<T>

© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.time/-test-time-source/index.html

Spec-Zone.ru

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