Gibt es eine gute Möglichkeit, den Ergebniscode und die Daten in einem Android Espresso-Test zu testen? Ich benutze Espresso 2.0.Wie kann ich setResult() in einem Android Espresso-Test testen?
Angenommen, ich habe eine Activity
namens BarActivity.class
, die bei Ausführung einer Aktion setResult(int resultCode, Intent data)
mit der entsprechenden Nutzlast ruft.
Ich möchte einen Testfall schreiben, um die resultCode
und data
zu verifizieren. Da setResult()
jedoch eine final
Methode ist, kann ich sie nicht überschreiben.
Einige Optionen Ich dachte waren:
- eine neue Methode wie
setActivityResult()
definieren und verwenden Sie nur, dass so kann es, etc abgefangen werden ... - schreiben Test nur TestActivity die
startActivityForResult()
nennen aufBarActivity
und das Ergebnis inTestActivity.onActivityResult()
zu denken versuchen, was die beiden Übeln weniger ist, oder wenn andere Vorschläge gibt es, wie dies zu testen. Irgendwelche Vorschläge? Vielen Dank!
Hier ist eine Teillösung für Option 2: https://product.reverb.com/2016/03/12/testing-android-activity-results/ Allerdings nicht vollständig, zumindest habe ich es nicht geschafft zu machen es funktioniert. – friedger