Как я могу разделить все выбросы в модульном тесте?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Гость
 Как я могу разделить все выбросы в модульном тесте?

Сообщение Гость »

Во время модульного тестирования я столкнулся с интересной проблемой.
Для тестирования я использую JUnit 5 с kotest.
Мы используем архитектуру MVI, поэтому у нас есть только один объект State который также содержит состояние счетчика и данные.
Для тестирования я также установил основной поток:

Код: Выделить всё

Dispatchers.setMain(Dispatchers.Unconfined)
У меня есть метод во ViewModel, который выполняет фоновый вызов API, примерно так:

Код: Выделить всё

    fun doHeavyTask(){
viewModelScope.launch(Dispatchers.IO) {
updateSpinnerState(true)
val result = ApiCall.getResult()
updateSpinnerState(false)

val finalResult = doSomething(result)
updateStateWithResult(finalResult)
}
}
Моя проблема в том, что когда я пытаюсь протестировать это следующим образом:

Код: Выделить всё

    @Test
fun testData() = runTest{
...
val result = state.drop(2).first()

result.data.size shouldBe data.size
}
Он работает вечно, поэтому кажется, что третьего выброса не произойдет. Поэтому я поставил задержку после каждой строки, в которой происходит выброс, в модели представления, и тест прошел успешно.
Метод обновления

Код: Выделить всё

_state.update {
it.copy(
showSpinner= showSpinner
)
}
Это не очень хорошее решение, потому что я не хочу задерживать рабочий код.
Как я могу решить эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/782 ... -unit-test
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как собрать все выбросы из StateFlow в тесте?
    Anonymous » » в форуме Android
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Получение конфигурации Nacos в модульном тесте в .NET Core 6
    Anonymous » » в форуме C#
    0 Ответы
    42 Просмотры
    Последнее сообщение Anonymous
  • Проблема с FileProvider в модульном тесте Android, специфичном для ОС Windows
    Anonymous » » в форуме Android
    0 Ответы
    39 Просмотры
    Последнее сообщение Anonymous
  • Использование MatrixCursor в модульном тесте
    Anonymous » » в форуме Android
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Макет IConfiguration выдает исключение NullReferenceException в модульном тесте с использованием Moq [дубликат]
    Anonymous » » в форуме C#
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous

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