web-dev-qa-db-fra.com

Test Espresso Android 'Impossible de résoudre le symbole' InstrumentationRegistry ''

J'essaie d'importer 

 import Android.support.test.InstrumentationRegistry;

mon fichier build.gradle

androidTestCompile 'com.Android.support.test:testing-support-lib:0.1'
androidTestCompile 'com.Android.support.test:runner:0.2'
androidTestCompile 'com.Android.support.test:rules:0.2'
androidTestCompile 'com.Android.support.test.espresso:espresso-core:2.2.2'

en configuration par défaut:

defaultConfig {
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
    }

Y a-t-il une bibliothèque qui me manque ici? J'essaie d'importer InstrumentationRegistry mais il ne le reconnaît pas! 

17
Adz

Vérifiez quel type de test utilisez-vous.

InstrumentationRegistry utilisé pour Tests instrumentés Qui utilisent un émulateur ou un périphérique et sont placés dans src/androidTest et utilisent config androidTestCompile .
Si vous utilisez Local unit test pour la machine virtuelle Java à partir du dossier src/test, vous devez utiliser Config testCompile

testImplementation 'com.Android.support.test:runner:1.0.2'

Après cela, vous pouvez importer InstrumentationRegistry, mais vous obtiendrez d'autres erreurs au moment de l'exécution.

24
Tim

essayer 

compile 'com.Android.support.test: runner: 0.2'

au lieu de

testCompile 'com.Android.support.test: runner: 0.2'

il semble que com.Android.support.test ait récemment été exclu d'un autre package (aucun indice), ce qui a également abouti à ce que Android.support.test.InstrumentationRegistry soit inconnu; ne pas l'exclure de com.Android.support.test:runner corrigé le problème pour moi.

androidTestImplementation ("com.Android.support.test:runner:1.0.2") {
    // exclude group: "com.Android.support.test"
    exclude group: "com.Android.support"
}

fondamentalement, androidTestImplementation doit contenir com.Android.support.test une fois.

1
Martin Zeitler