Android Espresso : impossible de résoudre le symbole AndroidJUnit4.class
Je suis en train de créer Espresso test de l'INTERFACE utilisateur à l'intérieur du nouveau projet Android, mais je me suis confronté avec le problème suivant.
Si j'ai essayé de créer un vide de la classe de test:
import android.content.Intent;
import android.support.test.rule.ActivityTestRule;
import android.support.test.runner.AndroidJUnit4;
import android.test.ActivityInstrumentationTestCase2;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import static android.support.test.espresso.Espresso.onView;
import static android.support.test.espresso.assertion.ViewAssertions.matches;
import static android.support.test.espresso.matcher.ViewMatchers.withId;
import static android.support.test.espresso.matcher.ViewMatchers.withText;
@RunWith(AndroidJUnit4.class)
public class LoginActivityTest extends ActivityInstrumentationTestCase2<LoginActivity> {
}
J'ai toujours ce message d'erreur:
cannot resolve symbol AndroidJUnit4.class
Et presque toutes les bibliothèques importées sont marqués comme non utilisés.
construire.gradle fichier contenant le texte suivant:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.0"
defaultConfig {
applicationId "com.some.thing.xxx"
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
lintOptions {
abortOnError false
}
packagingOptions {
exclude 'LICENSE.txt'
}
}
repositories {
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
maven { url "https://jitpack.io" }
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'com.google.android.gms:play-services:7.8.0'
compile 'com.mcxiaoke.volley:library:1.0.18'
compile 'com.orhanobut:logger:1.11'
//App dependencies
compile 'com.android.support:support-annotations:23.0.0'
//TESTING DEPENDENCIES
androidTestCompile 'com.android.support.test:runner:0.3'
//Set this dependency to use JUnit 4 rules
androidTestCompile 'com.android.support.test:rules:0.3'
//Set this dependency to build and run Espresso tests
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2'
//add this for intent mocking support
androidTestCompile 'com.android.support.test.espresso:espresso-intents:2.2'
//add this for webview testing support
androidTestCompile 'com.android.support.test.espresso:espresso-web:2.2'
//Set this dependency to build and run UI Automator tests
androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1'
androidTestCompile 'com.android.support.test.espresso:espresso-contrib:2.2'
}
Si j'ai mis ces paramètres sur mon autre projet de test il fonctionne, donc je ne sais pas quel est le problème?
J'ai suivi ce tutoriel:"
http://www.vogella.com/tutorials/AndroidTestingEspresso/article.html
Et j'ai essayé de le résoudre en suivant DONC, la question:
Impossible de résoudre le symbole "AndroidJUnit4'
Mais sans la chance.
Merci beaucoup pour tous les conseils.
OriginalL'auteur redrom | 2015-08-24
Vous devez vous connecter pour publier un commentaire.
J'ai essayé le même tutoriel de vogella trop et s'est heurtée à de nombreux problèmes. Un des premiers problèmes que j'ai rencontré était une dépendance de l'affrontement entre l'annotation versions de v23 libs et l'Espresso libs.
Puis j'ai trouvé un autre récemment mis à jour le tutoriel de Roger Hu "L'INTERFACE utilisateur Testting avec Espresso". J'ai remarqué une remarque que l'Espresso n'est pas en faveur de la Guimauve encore.
Les dépendances ont été ajoutés comme suit:
Cela a résolu mon conflits de dépendances et je n'ai pas vu tout le reste des problèmes surviennent.
OriginalL'auteur passerby
Je l'ai résolu par la main de l'importation de la suite, j'ai pensé qu'il devrait être importés automatiquement, mais il n'a pas :
OriginalL'auteur yehyatt
Je l'ai résolu en utilisant le changement de la constante
à la version 18 de la construire.gradle fichier.
Suivantes gradle.fichier de travail:
Cela peut fonctionner, mais je ne la recommande fortement cette solution. Par exemple, j'ai du mal mendiant et avec cette solution, j'aurais perdu une partie importante de la part de marché. :/
OriginalL'auteur redrom
Ci-dessus gradle changements donné:
vous avez besoin de changer de
et pour moi, ce n'était pas de travail, même avec la modification ci-dessus, donc ce que j'ai remarqué, c'est qu'il me manquait le dessous de l'inclusion:
et il a bien fonctionné pour moi.
La construction complète.gradle peut être trouvé ci-dessous:
Espère que ce sera certainement aider quelqu'un que j'ai lutté pour une demi-journée pour le fixer, même après avoir terminé les étapes de vogella tutoriel.
OriginalL'auteur Hiten Bahri
La raison pour laquelle vous obtenez ce message d'erreur peut être parce que votre dossier où le test est résidant ne correspond pas à la spécification. Le dossier doit être src/androidTest/java.
Jetez un oeil à cet article qui dit...
Par conséquent, les gens, pour de l'instrumentation de test le dossier doit être (ne pas oublier le cas)
et pour tests locaux le dossier doit être
Vous pouvez avoir votre dossier de package(s) pour correspondre à votre package d'application
Espère que, cela aide pour la communauté!
A été le dossier androidTest tout le temps! Merci!!!!
OriginalL'auteur Vincy
J'ai eu le même problème et je l'ai résolu mon changement d'établir la Variante. J'étais en train de le tester dans la version release.
Quand j'ai changé de "debug", il fonctionne
OriginalL'auteur Luis Felipe de Almeida daSilva
Probablement que vous pouvez avoir plusieurs types de builds, Android par Défaut Projet de créer deux type de build (debug/release), changement de construire variante de débogage ou de définir la valeur en tant que ci-dessous
http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Testing
OriginalL'auteur Sam
Vous pouvez vous référer à ce réponse.
"J'ai fait l'erreur de mettre les classes de test dans le dossier src/test. Après le déplacement à src/androidTest/java/... la dépendance a été résolu. Peut-être que c'est votre problème."
OriginalL'auteur Swapnil