Exemplo uma aplicação com verificação de login se o usuário está logado, Caso ele está logado ele fica na tela de home caso não esteja ele e redirecionado para a tela de login para utilizar o app.
Exemplo uma aplicação com verificação de login se o usuário está logado, Caso ele está logado ele fica na tela de home caso não esteja ele e redirecionado para a tela de login para utilizar o app.
Geralmente testar isoladamente um código assíncrono é bem chato e as soluções costumam usar algum tipo de timeout, ou flag para indicar que o código assíncrono já pode continuar normalmente. Então, o que fazemos num teste de unidade é testar somente a lógica de negócio sem a parte assíncrona.
Nesse exemplo que você citou, estou assumindo que a parte assíncrona é justamente a verificação do login (batemos num webservice que retorna true para logado e false para deslogado, de forma bem simples).
Então, podemos simular no nosso teste que o webservice já retornou true ou false. E a partir daí verificarmos se ele foi pra tela de home ou login. E essa simulação é feita com um mock.