Тестирование сопрограмм Kotlin на Android с альтернативой TestCoroutineDispatcher (устарело)Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Тестирование сопрограмм Kotlin на Android с альтернативой TestCoroutineDispatcher (устарело)

Сообщение Anonymous »


Я изучаю тестирование сопрограмм в своем приложении для Android и следую этой лаборатории кода Расширенный Android в Kotlin 05.3: тестирование интеграции сопрограмм и Jetpack

эта кодовая лаборатория содержит следующий фрагмент кода

@ExperimentalCoroutinesApi val testDispatcher: TestCoroutineDispatcher = TestCoroutineDispatcher() @ExperimentalCoroutinesApi @До забавная настройкаDispatcher() { Dispatchers.setMain(testDispatcher) } @ExperimentalCoroutinesApi @После весело слезаDownDispatcher() { Диспетчеры.resetMain() testDispatcher.cleanupTestCoroutines() } однако TestCoroutineDispatcher помечен как устаревший в этом комментарии: -

/** * [CoroutineDispatcher], который выполняет как немедленное, так и отложенное выполнение сопрограмм в тестах. * и использует [TestCoroutineScheduler] для управления своими виртуальными часами. * * По умолчанию [TestCoroutineDispatcher] действует немедленно. Это означает, что любые задачи, запланированные для запуска без задержки, * немедленно выполняется. Если они были запланированы с задержкой, время виртуальных часов должно быть переведено вперед через один из * методы в [планировщике] диспетчера. * * При переключении на отложенное выполнение с помощью [pauseDispatcher] любые сопрограммы, запущенные с помощью [launch] или [async], будут * не выполняться до тех пор, пока вызов [DelayController.runCurrent] или виртуальное время не будет продвинуто через один из * методы в [DelayController]. * * @см. DelayController */ @Deprecated("Порядок выполнения `TestCoroutineDispatcher` может сбивать с толку, а механизм " + "пауза обычно понимается неправильно. Вместо этого используйте `StandardTestDispatcher` или `UnconfinedTestDispatcher`.", уровень = Уровень Устаревания. ПРЕДУПРЕЖДЕНИЕ) // Начиная с версии 1.6.0, ОШИБКА в версии 1.7.0 и удалена как экспериментальная в версии 1.8.0 общедоступный класс TestCoroutineDispatcher (публичный переопределенный планировщик val: TestCoroutineScheduler = TestCoroutineScheduler()): TestDispatcher(), Задержка, SchedulerAsDelayController {...} Непонятно, как мне следует использовать предложенные альтернативы TestCoroutineDispatcher(): StandardTestDispatcher и UnconfinedTestDispatcher являются прямой заменой TestCoroutineDispatcher()?

чего мне не хватает?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»