Cannot resolve symbol InstantTaskExecutorRule
Ich offen Beispiel-code BasicRxJavaSample (aus diesem Artikel Zimmer+RxJava)
Die Hauptsache ist es:
@Rule
public InstantTaskExecutorRule instantTaskExecutorRule =
new InstantTaskExecutorRule();
Und BasicRxJavaSample ist alles ok.
Aber ich kann nicht für das in meinem test.
Das ist, was Los ist:
Cannot resolve symbol InstantTaskExecutorRule
Und manuelle import funktioniert nicht:
Meine Autovervollständigung funktioniert wie folgt
Aber so sein sollte
Meine app zu bauen.gradle (voll gradle hier):
//tests
testImplementation 'junit:junit:4.12'
androidTestCompile "com.android.support:support-annotations:$supportVersion"
testImplementation "android.arch.core:core-testing:$archVersion"
//Test helpers for Room
testImplementation "android.arch.persistence.room:testing:1.0.0"
//https://github.com/mockito/mockito
testImplementation 'org.mockito:mockito-core:2.13.0'
androidTestImplementation 'org.mockito:mockito-android:2.13.0'
//AndroidJUnitRunner and JUnit Rules
androidTestImplementation 'com.android.support.test:rules:1.0.1'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
//https://developer.android.com/topic/libraries/testing-support-library/packages.html
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
androidTestCompile 'com.android.support.test.espresso:espresso-idling-resource:3.0.1'
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ersetzen testImplementation von androidTestImplementation. Also die tests auf Ordner androidTest haben Zugang zu der Bibliothek.
Ich weiß, es ist spät, aber ich möchte eine Sache hinzufügen, die für diese akzeptierte Antwort,
Wenn Sie verwenden möchten,
in Ihrem JUnit test case, d.h. in test-Ordner verwenden Sie dann folgende Abhängigkeit auf, ich.e, mit testImplementation
Wenn Sie verwenden möchten
InstantTaskExecutorRule
für Ihre Benutzeroberfläche oder die integration von Testfällen, Verwendung androidTestImplementation. das heißt:androidTestImplementation "android.arch.core:core-testing:1.0.0"
Und wenn Sie möchten, fügen Sie für beide verwenden androidTestImplementation & testImplementation ist:
androidTestImplementation "android.arch.core:core-testing:1.0.0"
testImplementation "android.arch.core:core-testing:1.0.0"
for androidX migration, fügen Sie
Bitte legen Sie diese beiden Abhängigkeiten in den gradle-Datei,
Weitere Informationen gehen Sie bitte über diesen link
Android-Architektur-Komponenten integration guide
Ich denke, dass es einen Konflikt in einige der verlinkten Bibliotheken.
Ich kam um, habe ich blockingGet() und blockingFirst().
und, am Ende, die ich verwendet
https://developer.android.com/training/testing/junit-runner.html#using-android-test-orchestrator
dies ist, was Sie brauchen!
Test auch mal Abhängigkeitsprobleme kann ein Problem sein, von der Auswahl der geeigneten build-Variante, je nach Gradle-Konfiguration. In meinem Fall, tests konfiguriert sind, für das debug-build-Variante nur.