Ich versuche eine Aktivität zu testen, die ActionBarActivity verwendet (aus der appcompat-Bibliothek). Ich brauche eine benutzerdefinierte Anwendung, um das DI-System manipulieren zu können, um meinen Testdienst anstelle des echten Dienstes zu laden.ActivityUnitTestCase und startActivity mit ActionBarActivity
Wenn ich meinen Test geschrieben und ruft startActivity ich die folgende Fehlermeldung erhalten:
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
Wenn ich launchActivityWithIntent rufe die Aktivität beginnt ohne Probleme, aber es ist meine Real Application-Klasse anstelle der verspott Anwendungsklasse . Irgendwelche Ideen, wie ich das beheben kann oder wie ich nach onCreate der Anwendung Code ausführen kann, wurden aufgerufen, aber bevor onCreate of my Activity in meinem Instrumententest aufgerufen wird?
ich ähnliches Problem konfrontiert bin, aber ich konnte es nicht zur Arbeit kommen. Könnten Sie Ihr Ergebnis teilen? – RobGThai
Wie ich schon sagte, habe ich eine Klasse erstellt, die MockApplication erweitert. Dann habe ich die Methode OnCreate mit dem obigen Snippet überschrieben und dann eine Instanz dieser Mock-Application-Klasse, die ich in der ActivityUnitTestCase-Klasse erstellt habe – fkrauthan
Dies funktionierte für mich :) –