Android Studio nicht erkennt, Espresso-Klassen
Ich bin mit Android Studio 0.5.0
mit Gradle 1.11
. Ich bin versucht zu installieren, Espresso Bibliothek von com.jakewharton.espresso:espresso:1.1-r2. Für einige Grund konnte nicht erkennen, Espresso-Klassen nach der Projekt-Synchronisation. Also jedes mal, wenn ich versuche zu importieren import static com.google.android.apps.common.testing.ui.espresso.Espresso.onView;
innen androidTest
Ordner-Dateien, die es markiert Sie als ungültig.
Hier mein build.gradle:
apply plugin: 'android'
android {
compileSdkVersion 19
buildToolsVersion '19.0.2'
defaultConfig {
minSdkVersion 14
targetSdkVersion 19
versionCode 1
versionName "1.0"
testInstrumentationRunner "com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.squareup.dagger:dagger-compiler:1.2.1'
compile 'com.squareup.dagger:dagger:1.2.1'
androidTestCompile ('com.jakewharton.espresso:espresso:1.1-r2') {
exclude group: 'com.squareup.dagger'
}
}
Externe Bibliotheken:
- Hast du umbenennen instrumentTest Ordner androidTest?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Also das ist im Grunde ein bug mit Android Studio (ich vermute).
Referenz:
Workaround (bis der Fehler behoben ist):
Hinzufügen ein Duplikat, sofern Abhängigkeit in Ihrem gradle-Datei, etwa so:
androidTest
Ordner - ich habetest/java/...
und es funktioniert wie ein Charme 😉Dieses Problem war mich verrückt. Und wie es scheint, ist ein bekannter Fehler in Android Studio. In meinem Fall ist es behoben, nachdem ich das geändert habe, Bauen die Art von Release auf Debug-für die Eltern-app. Hoffe das kann hilfreich sein für jemanden, der
Espresso 2.0
Kürzlich Espresso 2.0 veröffentlicht wurde, macht es jetzt Teil der Android Support Library. Dies war angekündigt, auf dem android dev blog.
Setup Guide
Mit, dass Sie auch verknüpft eine aktualisierte setup-Anleitung. Dort finden Sie Anweisungen zum konfigurieren von Grund auf neu oder aktualisieren Ihre vorhandenen espresso-config für 2.0.
Andere Tipps
Änderungen sind die oben genannten 2 links enthalten alle Informationen, die Sie benötigen. Wenn nicht ich habe einige häufige Fehler unten
Upgrade Android Studio 1.0.*
Starten, indem Sie Ihre android-Studio zu bauen. Sie sollten in der Lage sein, um mindestens 1,0 aus der stabil baut Kanäle (=default). So verwenden Sie die Menü-option Android Studio > Check for updates... .
Erhalten Sie die neuesten von den neuesten Sie können auch gehen Sie in die Einstellungen, nach updates suchen, und ändern Sie den Kanal, um canary-channel -.
Update-Android Support-Bibliothek, um v 11+
Espresso war in der Bibliothek Unterstützt ab version 11, so dass Sie haben, um mindestens diese version an. Überprüfen Sie für updates über die Android SDK manager. Die Support-Bibliothek ist innerhalb der Extras Baum an der Unterseite.
Neue Abhängigkeiten und namespace
Wenn upgading von einer älteren espresso-release müssen Sie aktualisieren Sie die Abhängigkeiten und den Namensraum. Für neue Projekte nur fügen Sie diese in die
dependencies
in Ihrembuild.gradle
Datei.Und da der namespace geändert, müssen Sie aktualisieren alle Importe:
Beachten Sie, dass es ist einfacher zu bedienen statische Importe. Einige häufigsten verwendeten Importe als Beispiel:
Für asserts verwenden, hamcrest, wieder einige Beispiele:
Instrumentation Läufer
Test runner konfiguriert werden muss, um sowohl in Ihrem als auch
build.gradle
Datei defaultConfig und der run-Konfiguration verwendet, um starten Sie Ihre tests von Android Studio.Und in Ihrer run-Konfiguration verwenden Sie dieses als Instrumentierung Läufer (volle Klasse nur dem Namen nach):
Beispiel Testfall
Und ein Beispiel-Testfall bis zum Ende mit. Beachten Sie, dass
MainActivity
ist Ihre actvitiy Sie testen möchten. Die tests selbst sind public-Methoden, die mit test beginnt, wietestListGoesOverTheFold
im Beispiel weiter unten.Weitere Informationen zum schreiben von tests, besuchen Sie die espresso-start-guide.
Sechs Monate später ist dies immer noch ein Problem und der bug wird durch den original-responder geöffnet wurde: https://code.google.com/p/android/issues/detail?id=66841 und höhere Priorität. Ich habe noch nicht in der Lage, um Android Studio zu erkennen Espresso-Klassen und mit den "vorgesehenen" Rahmen für Abhängigkeiten hat nicht funktioniert, beheben Sie das Problem für mich. (ALS 0.8.6 und Gradle 0.12.2)
laut http://tools.android.com/tech-docs/new-build-system/user-guide
nur eine build-Typ getestet wird, wird es standardmäßig debug-Build Geben.
So überprüfen Sie mit debug-build-Variante und die Anwendung neu erstellen. Auf andere build-Typen alle Ihre androidTest Abhängigkeiten werden nicht angezeigt.
Wenn Sie brauchen, um zu testen, Ihren aktuellen build-Typ können Sie etwas wie das hier tun:
android {
...
testBuildType "Inszenierung"
}
Android Studio 1.5.1 wusste nicht
onView()
oderonData()
Methoden in meinem Fall. Ich habe gerade einen statischen import der Espresso Klasse und alle Methoden.Habe ich noch die folgende Zeile, und alles funktionierte perfekt.
Sind Sie nicht spezifisch über das, was Quell-Datei, die Sie sehen, die Fehler, aber basierend auf meinen Tests, ich denke, Sie versuchen, Zugriff auf die Espresso-Klassen aus einem Ihrer Hauptanwendung Klassen (innerhalb von src/main/java/). Wenn dem so ist, das wird nicht funktionieren, denn Sie haben Espresso über eine
androidTestCompile
Abhängigkeit gehören, das macht es zugänglich nur für Ihren test-Klassen, die muss man unter src/androidTest/java.Ich habe versucht, jede Lösung, was die Jungs schätzten vor und bekam trotzdem die Klasse nicht gefunden Fehler.
Dachte ich, meine Lösung, es meinen Tag gerettet.
Also, wenn Sie öffnen Sie die Registerkarte Projekt auf der linken Seite, um Ihre Projekt-Ordner im Studio und check das build-Varianten Sie sehen können, dass Ihr Projekt unit-test. Sie haben, um neu eingestellt, um Android Instrumentation Tests und stellen Sie sicher, dass Ihr test.java die Datei ist unter
**src\androidTest\java**