Robolectric nicht finden können Ressourcen-oder manifest-Datei
Habe ich einen neuen TestProject und ergänzt folgende Zeile in meine testMethod:
Robolectric.getShadowApplication().getString(R.string.mystring);
Mein test ist fehlgeschlagen mit
android.content.res.Resources$NotFoundException: unknown resource 2131558482
Zeigt die Konsole die folgenden Warnhinweise:
WARNING: No manifest file found at .\..\..\MyProject\AndroidManifest.xml.Falling back to the Android OS resources only.
To remove this warning, annotate your test class with @Config(manifest=Config.NONE).
WARNING: no system properties value for ro.build.date.utc
Ist AndroidManifest.xml die notwendig sind, um string-Ressourcen?
Ich versuchte, fügen Sie Manifestieren sich durch org.robolectric.Config.Eigenschaften und @Config aber die Warnung noch kommt und ich kann nicht string-Ressource. Ich sorgte dafür, dass der relative Pfad zu manifestieren, ist richtig.
Ich habe auch versucht, die änderung der JUnit-Konfiguration auszuführen, aber das hat nicht geholfen.
InformationsquelleAutor der Frage lukjar | 2013-09-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lösung für das problem hier beschrieben:
http://blog.futurice.com/android_unit_testing_in_ides_and_ci_environments
Das Fehlende Manifest
Sollten Sie mittlerweile bemerkt haben, dass Robolectric beschwert sich über die nicht in der Lage zu finden, Ihre Android-Manifest. Wir beheben, dass durch das schreiben einer benutzerdefinierten test-runner. Fügen Sie den folgenden als app/src/test/java/com/example/app/test/RobolectricGradleTestRunner.java:
Daran zu ändern RunWith-annotation in der test-Klasse.
InformationsquelleAutor der Antwort user3635764
Ich habe vor gleichen Fehlern, haben Wir mehrere Geschmacksrichtungen und buildtypes So, gibt es Schritte, damit es funktioniert:
1) Android studio-tests, Konfiguration
Müssen Sie set working directory $MODULE_DIR$ in Windows zu. http://robolectric.org/getting-started/ sagen sollte.
2) Unit-test sollte mit Kommentaren versehen werden wie diese:
Hier haben wir einfachen link zur manifest-Datei und packageName
InformationsquelleAutor der Antwort Kirill Vashilo
Benötigen Sie eine
AndroidManifest.xml
und Robolectric derzeit hängt davon ab, dass es auf der Projekt-root als Pfad impliziert.InformationsquelleAutor der Antwort Corey D
Bemerkte ich, dass ich verwendet, um zu deklarieren manifestieren, wie dies an der Spitze meiner test-Klasse
Und ich wechselte nun zu diesem, um zu arbeiten.
InformationsquelleAutor der Antwort Juan Mendez
Habe ich gerade behoben, das gleiche problem mit Robolectric (ver: robolectric-2.4-jar-with-dependencies.jar) und die Rückkehr unbekannten Ressourcen, beim laden der Ressource von verschiedenen Werte-* Ordner z.B.:
In meinem Fall wollte ich erkennt, dass es verschiedene Geräte. Aus diesem Grund habe ich erstellt screen.xml in folgenden Ordner:
Mein Arbeitsbereich ist wie folgt:
Mein unit-test mit Robolectric:
Oben genannten test-code gibt auf der Konsole: 10-Zoll-tablet...
InformationsquelleAutor der Antwort damax
Ich überschrieb getConfigProperties() durch Unterklassen RobolectricTestRunner. Bitte Folgen Sie diesem link: https://stackoverflow.com/a/29907234/727654
InformationsquelleAutor der Antwort Nishant Soni