Je ne parviens pas à importer certains des Android classeurs du cadre de test de l'interface utilisateur - je ne peux tout simplement pas comprendre ce qui ne va pas!
Ceci est ma classe:
@RunWith(AndroidJUnit4.class)
@LargeTest
public class ExampleUnitTest {
@Rule
public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule(MainActivity.class);
@Test
public void listGoesOverTheFold() {
onView(withText("Hello world!")).check(matches(isDisplayed()));
}
}
Mais pour une raison quelconque, je reçois des erreurs 'ne trouve pas le symbole ActivityTestRule' et 'ne trouve pas le symbole AndroidJUnit4'. J'ai essayé de les importer, mais ils ne peuvent pas être trouvés.
Les dépendances dans build.gradle sont définies sur:
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.Android.support:appcompat-v7:23.4.0'
androidTestCompile 'com.Android.support:support-annotations:23.4.0'
androidTestCompile 'com.Android.support.test:runner:0.4'
androidTestCompile 'com.Android.support.test:rules:0.4'
androidTestCompile 'com.Android.support.test.espresso:espresso-core:2.2.1'
androidTestCompile 'com.Android.support.test.uiautomator:uiautomator-v18:2.1.2'
Je pense donc avoir configuré toutes les dépendances. J'ai essayé beaucoup de choses, mais sans succès.
Quelqu'un a des idées?
Il existe deux types de tests que vous pouvez configurer dans Android.
Tests unitaires
test/Java
paquettestCompile
Tests d'instrumentation
androidTest/Java
paquetandroidTestCompile
D'après ce que je peux dire, vous essayez d'écrire des tests d'instrumentation avec Espresso, mais vous avez votre test dans le test/Java
package qui est destiné aux tests unitaires. Dans ce cas, vous devez déplacer votre classe de test vers la androidTest/Java
paquet.
Ajoutez-les dans la nouvelle version:
androidTestImplementation 'com.Android.support.test:rules:1.0.2'
androidTestImplementation 'com.Android.support.test:runner:1.0.2'
Ajouter:
androidTestImplementation 'com.Android.support.test:rules:1.0.2'
résout le problème, mais n'oubliez pas de synchroniser le projet avec les fichiers de gradation. Alors seulement, les changements entreront en vigueur.
besoin de cela ajouter des dépendances
testCompile 'com.Android.support.test:rules:0.5'
testCompile 'com.Android.support.test:runner:0.5'
Si vous avez migré vers AndroidX, utilisez ceci:
androidTestImplementation 'androidx.test:rules:1.1.1'
androidTestImplementation 'androidx.test:runner:1.1.1'
Ajouter une dépendance.
androidTestCompile 'com.Android.support.test:rules:0.5'
androidTestCompile 'com.Android.support.test:runner:0.5'