2013-06-10 4 views
0

Quel pourrait être le problème? Mes tests Robolectric se sont bien déroulés il y a un certain temps, mais maintenant ils échouent tous avec la même erreur. Le seul changement auquel je peux penser est de passer à la version 2.1.1. Je les utilise avec le RobolectricTestRunner et les points de configuration de l'exécution dans le répertoire de l'application.Les tests Robolectric échouent sur shadowOf

Mais chaque test échoue parce que la classe d'application de l'application est toujours nulle que les préférences sont accessibles:

java.lang.NullPointerException: can't get a shadow for null 
     at org.robolectric.bytecode.ShadowWrangler.shadowOf(ShadowWrangler.java:414) 
     at org.robolectric.Robolectric.shadowOf_(Robolectric.java:1077) 
     at org.robolectric.Robolectric.shadowOf(Robolectric.java:483) 
     at org.robolectric.shadows.ShadowPreferenceManager.getDefaultSharedPreferences(ShadowPreferenceManager.java:21) 
     at android.preference.PreferenceManager.getDefaultSharedPreferences(PreferenceManager.java) 
     at com.foo.bar.FooApplication.onCreate(FooApplication.java:90) 

Répondre

0

Apparemment, l'erreur est survenue à cause de cela dans le onCreate de ma classe d'application:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext()); 

Modifié le getBaseContext() en ce et les tests fonctionnent à nouveau.

Questions connexes