Wie wird die erwartete Absicht überprüft, die gesendet wurde, ohne dass tatsächlich eine Aktivität in Espresso gestartet wurde?
Ich habe einen UI-Test, der auf eine Schaltfläche klickt und dann eine neue Aktivität in seinem onClickListener startet. Der Test prüft, ob die erwartete Absicht gesendet wurde oder nicht.
Mein Problem ist, ich möchte testen, ob die erwartete Absicht gesendet wirdohne die Aktivität tatsächlich zu starten. Weil ich herausgefunden habe, dass eine neue Aktivität ihren Zustand initialisiert und nachfolgende Tests abblättern lässt.
Ich weiß, es gibt zweiEspresso Intents api, welche sind<a href="https://developer.android.com/reference/android/support/test/espresso/intent/Intents.html#intended(org.hamcrest.Matcher%3Candroid.content.Intent%3E)" rel="nofollow">intended</a>
und<a href="https://developer.android.com/reference/android/support/test/espresso/intent/Intents.html#intending(org.hamcrest.Matcher%3Candroid.content.Intent%3E)" rel="nofollow">intending</a>
, aber beide erfüllen meine Bedürfnisse nicht.intended
api startet tatsächlich die Zielaktivität undintending
api startet die Aktivität nicht, ruft aber @ aonActivityResult
callback was ich auch nicht will. Weil ich Angst habe, dass der Code inonActivityResult
kann eine andere Schuppigkeit verursachen. Ebenfallsintending
gibt nicht an, ob eine übereinstimmende Absicht gesendet wurde, sondern ruft einfach @ aonActivityResult
Rückruf bei gefundener Matching Intent, dh ich muss prüfen, obonActivityResult
heißt oder nicht!
ibt es einen sauberen Weg, um das zu erreichen, was ich wil