web-dev-qa-db-fra.com

androidx.test.InstrumentationRegistry est obsolète

est passé à AndroidX et a été déconseillé: import androidx.test.InstrumentationRegistry

si j'ai fait la prochaine importation: import androidx.test.platform.app.InstrumentationRegistry Je ne peux pas getContext()

ex: val context = InstrumentationRegistry.getContext()

Dans build.gradle:

androidTestImplementation 'androidx.test.ext:junit:1.0.0-beta02'
androidTestImplementation 'androidx.test:runner:1.1.0-beta02'
23
Morozov

Vous pouvez utiliser InstrumentationRegistry.getInstrumentation().getTargetContext() dans la plupart des cas à partir de androidx.test.platform.app.InstrumentationRegistry.

Si vous avez besoin de l'application, vous pouvez utiliser ApplicationProvider.getApplicationContext<MyAppClass>()

si vous n'en avez pas déjà, je pense que vous avez également une nouvelle dépendance de test: androidTestImplementation 'androidx.test:core:1.0.0-beta02'

27
karuto

Lorsque vous utilisez Android X, vous devez vous assurer de disposer des éléments suivants dans le fichier build.gradle de votre application.

androidTestImplementation 'androidx.test:core:1.1.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.0'

La seconde consiste à vous assurer que vous disposez du bon AndroidJUnit4 à utiliser dans vos tests.

Assurez-vous d'importer les deux.

import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4

Maintenant, au lieu d'utiliser val context = InstrumentationRegistry.getContext(), vous pouvez utiliser la ligne ci-dessous

val context = InstrumentationRegistry.getInstrumentation().getTargetContext()
33
Mark O'Sullivan

Pour l'utilisation de Kotlin, afin d'obtenir le contexte:

InstrumentationRegistry.getInstrumentation().targetContext
2
lomza

InstrumentationRegistry.getInstrumentation().targetContext obsolète maintenant. Utilisez ApplicationProvider.getApplicationContext();.

1
Akgun Studio