Bom dia a todos
Eu sei que a minha dúvida foge um pouco do assunto do curso, mas me surgiu uma dúvida em relação à isso.
Vimos na aula a questão do try/catch para evitar exceções no app por falta de conexão ou conexão lenta. Exemplo de código:
try {
val response = service.findAll()
val entities = response.map { it.toMovieEntity() }
dao.saveAll(*entities.toTypedArray())
//catch de exceção por falta de conexão
} catch (e: ConnectException) {
Log.e("MovieRepository","findSections: falha ao conectar na API")
//catch de exceção por timeout da tarefa da conexão
} catch (e: SocketTimeoutException){
Log.e("MovieRepository","findSections: Demora na conexão da API")
}
E logo veio na minha cabeça fazer UI testes para confirmar(usando bibliotecas como o navigation-testing e outros), como vimos no curso de Jetpack Compose: criando Deep links e testando o Navigation.
A minha dúvida é: como fazemos para simular falta de internet ou lentidão na conexão em ambientes de testes? Isso sem fazer de maneira manual, como desligar a internet, wifi do computador ou do emulador, fazendo isso dentro do código