/ / Robolectric kann beim Start eines Einzeltests nicht ordnungsgemäß geladen werden - Android, Komponententest, Robolectric

Robolectric kann nicht richtig geladen werden, wenn einzelne Tests gestartet werden - Android, Unit-Tests, Robolectric

Ich habe eine Android-Anwendung, die ich benutze @RunWith(RobolectricTestRunner.class). Wenn ich alle Tests zusammen in Android Studio durchführe, funktioniert es. Aber wenn ich eine Test- oder Testklasse separat starte, bekomme ich diesen Fehler:

java.lang.UnsupportedOperationException: Robolectric does not support API level 1.

Beachten Sie, dass die API-Ebenen "Minimum" und "Ziel" in der Manifestdatei angegeben sind. Es scheint, dass die Umgebung nicht richtig eingerichtet ist. Hinzufügen @Config(emulateSdk=23) Der Test wird gestartet, der Test schlägt jedoch beim Zugriff auf Ressourcen fehl.

Irgendeine Idee, was dazu führen könnte, dass die Testumgebung nicht richtig geladen wird?

Antworten:

1 für die Antwort № 1

Überprüfe deine Klasse und Klasse:

Gradel:

 testCompile "org.robolectric:robolectric:3.3"
testCompile "junit:junit:4.12"
testCompile "org.assertj:assertj-core:1.7.1"

In deiner Testklasse:

@RunWith(RobolectricTestRunner.class)
@Config(constants = BuildConfig.class, sdk = 25)
public class YourTest {

@Test
public void shouldNotBeNull() throws Exception {
//put your test here for example
}
)

YourTest-Klasse sollte in Test-Ordner (nicht AndroidTest-Ordner) abgelegt werden

Auf Android Studio:

  • Konfigurationen bearbeiten
  • In Junit müssen Sie das Arbeitsverzeichnis in $ MODULE_DIR $ ändern. Das Wichtige ist $ MODULE_DIR $.