web-dev-qa-db-fra.com

Robolectric RuntimeEnvironment.application est obsolète, où est ApplicationProvider.getApplicationContext ()?

Je suis passé à Robolectric 4.0 Beta 1 de .8 car j'ai besoin de compatibilité avec Android 9 (API 28).

Avec cette modification, RuntimeEnvironment.application est maintenant obsolète.

Le remplacement est apparemment d'utiliser:

androidx.test.core.app.ApplicationProvider.getApplicationContext()

Je ne sais pas où se trouve exactement ce code. Ce doit être dans une dépendance séparée entièrement. Où est-ce? Comment puis-je l'ajouter à mon projet?

Merci!

21
Charles Madere

Comme décrit dans le Guide de la migration Robolectric version 4. , vous devez ajouter les dépendances du noyau de test androidx testImplementation 'androidx.test:core:1.0.0' À votre build.gradle. Vous pouvez ensuite utiliser la fonction ApplicationProvider.getApplicationContext() méthode

41
dudi