J'ai juste commencé à utiliser Robolectric et il semble que ce soit à peu près ce dont j'ai besoin. Cependant, j'ai rencontré quelques difficultés en ce qui concerne l'utilisation de SharedPreferences.Fournir des données de test pour SharedPreferences pour Robolectric
J'ai deux cas tests
Activité attend un nouveau/sharedPreferences vide
Activité prévoit sharedPreferences avec quelques données déjà
Pour Test Case 1, la les tests passent comme prévu, donc tout va bien :)
Cependant, pour le cas de test 2, je n'arrive pas à trouver une façon sympa de fournir à Robolectric certaines fausses données, donc l'activité est capable d'accéder à ces fausses données.
Cela ressemble à un cas d'utilisation très commun, mais je n'arrive pas à comprendre comment le faire!
+1, ce qui m'a beaucoup aidé! (le second fonctionne parfaitement). J'utilise ceci pour éviter de lancer des tâches asynchrones en mode test en définissant un booléen "is test mode" sur les préférences partagées. – Jimmy
Astuce: dans votre code sous test qui appelle getSharedPreferences, assurez-vous d'utiliser le contexte de l'application, sinon cela ne fonctionnera pas. –
@Jimmy Je préfèrerais accomplir cela en utilisant des champs de configuration de construction personnalisés voir: http://michiganlabs.com/string-constants-generated-gradle-build-configurations – martyglaubitz