Como verificar a intenção esperada enviada sem realmente iniciar a atividade no Espresso?
Eu tenho um teste de interface do usuário que clica em um botão e inicia uma nova atividade no onClickListener. O teste verifica se a intenção esperada é enviada ou não.
Meu problema é que eu quero testar se a intenção esperada é enviadasem realmente iniciar a atividade. Porque descobri que a nova atividade inicializa seu estado e torna os testes subsequentes escamosos.
Eu sei que existem doisEspresso Intents API, que são<a href="https://developer.android.com/reference/android/support/test/espresso/intent/Intents.html#intended(org.hamcrest.Matcher%3Candroid.content.Intent%3E)" rel="noreferrer">intended</a>
e<a href="https://developer.android.com/reference/android/support/test/espresso/intent/Intents.html#intending(org.hamcrest.Matcher%3Candroid.content.Intent%3E)" rel="noreferrer">intending</a>
, mas ambos falham em atender às minhas necessidades.intended
api realmente lança a atividade de destino eintending
A API não inicia a atividade, mas chamaonActivityResult
retorno de chamada que eu também não quero. Porque eu tenho medo que esse código dentroonActivityResult
pode causar outra descamação. Além dissointending
não afirma se a intenção correspondente é enviada, apenas chamaonActivityResult
retorno de chamada quando a intenção correspondente for encontrada, o que significa que eu tenho que verificar seonActivityResult
é chamado ou não!
Existe alguma maneira limpa de alcançar o que eu quero?