логика которой использует Coroutines, наверх торчит всего лишь 1 метод launch, а весь процесс эмититься через подписку. Суть в том, что не знаю как быть с delay, замокал CoroutineContext используя Unconfined и как я понимаю это должно было заставить работать карутину синхронно, но на методе delay она прекращает работать. Можно ли как то игнорировать delay и что обычно делают в таких случаях?
Через runBlocking() не проще ли сделать? > бизнес логика которой использует Coroutines А делал бы “чистой”, сейчас бы и с тестами не парился и не зависил от реализации “асинхронности”
ну у тебя получается есть сайд эффект в виде передачи каких-то значений - результата твои вычислений в Rx (как я понял). Значит тебе его и надо замокать, ожидать на этом канале значения В тесте ты делаешь runBlocking, там делаешь launch и join джобе. Когда launch завершится - проверяешь что он заэмитил все что ты ожидал
Обсуждают сегодня