124 votes

Comment accéder au contexte d'une application dans le Robolectric ?

En fait, j'ai besoin d'obtenir une réponse d'un appel d'API, pour cela j'ai besoin de Context .

236voto

Eugen Martynov Points 5651

Mise à jour.

Il suffit de l'utiliser pour les versions 1.x et 2.x :

Robolectric.application;

Et pour la version 3.x :

RuntimeEnvironment.application;

Et pour la version 4.x :

  • ajouter à votre build.gradle fichier :

    testImplementation 'androidx.test:core:1.0.0'
  • récupérer le contexte avec :

    ApplicationProvider.getApplicationContext()

26voto

rds Points 5742

Vous pouvez utiliser

RuntimeEnvironment.application

20voto

John Points 314

Ajouter

testImplementation "androidx.test:core-ktx:${deps.testrunner}"

Et utiliser :

private val app = ApplicationProvider.getApplicationContext()

19voto

Xian Points 603

Utilisez ça :

Robolectric.application

8voto

The_Martian Points 870

Pour le dernier Robolectric 4.3 en date de 2019 `.

ShadowApplication.getInstance()

` et

Roboletric.application

sont toutes deux déprécarisées. J'utilise donc

Context context = RuntimeEnvironment.systemContext;

pour obtenir le Contexte.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X