Robolectric consente di testare che è stato avviato un Activity
utilizzando shadowOf(activity).peekNextStartedActivity()
. Tuttavia, questo metodo non sembra funzionare se Activity
viene avviato con FLAG_ACTIVITY_CLEAR_TOP
. Questo è intuitivo dal momento che lo scopo di questo flag non è quello di avviare un nuovo Activity
ma di portare uno esistente nello stack posteriore in primo piano. C'è un modo per testare questo scenario?Verificare che un'attività sia stata avviata con FLAG_ACTIVITY_CLEAR_TOP
UPDATE
mio scenario di test è la seguente:
Ci sono 3 Attività coinvolti, diamo loro una chiamata, B e C. Attività in prova è B, che è stato avviato da A. B ora inizia C per il risultato e quando il risultato viene ricevuto torna a A usando il flag FLAG_ACTIVITY_CLEAR_TOP
. Anche se non ci sono attività A nello stack in quel momento, mi aspetto che venga avviato e che sia disponibile tramite peekNextStartedActivity()
.
Nel mio caso, sarei felice di controllare che l'attività sia stata avviata tramite il controllo di ComponentName, tuttavia, peekNextStartedActivity() non restituisce l'attività corretta se utilizzo FLAG_ACTIVITY_CLEAR_TOP per avviarlo. – Egor