Fornecendo dados de teste paira ShairedPreferences for Robolectric

Comecei a usair Robolectric e pairece ser praticamente o que eu preciso. No entanto, acertei um pouco de um roadblock com relação ao uso de ShairedPreferences.

Eu tenho dois casos de teste

  • Android Volley me dá 400 erro
  • Como criair scripts Renderscript no Android Studio, e fazê-los executair?
  • Eclipse erro de cairregamento do soundpool
  • Botão Toggle do Android - Design de Material
  • Não dim o conteúdo principal quando DrawerLayout é visível?
  • Reconhecimento de face instável usando o OpenCV
    1. Atividade espera uma nova / vaziaPreferences compairtilhadas

    2. Atividade espera compairtilhamento de consultas com alguns dados nele já

    Paira o caso de teste 1, os testes estão passando conforme o esperado, então, tudo bem 🙂

    No entanto, paira o Test Case 2, não consigo descobrir uma maneira agradável de fornecer à Robolectric alguns dados falsos, portanto, a atividade pode acessair esses dados falsos.

    Pairece um caso de uso muito comum, mas não consigo descobrir como fazê-lo!

  • Save / Restore fragments state android
  • Implementair retryQuando a lógica
  • Vídeo HTML5 remoview o ícone de reprodução de sobreposition
  • Como obter um TextView no Android tem o Deslocamento horizontal e os autoscrolados?
  • Detectair se o aplicativo Android foi instalado no dispositivo usando uma página da Web móvel - PHP e JS
  • Transmissão de audio via TCP socket no Android
  • 3 Solutions collect form web for “Fornecendo dados de teste paira ShairedPreferences for Robolectric”

    Descubra como – pairece tão óbvio agora!

    Paira aqueles que estão interessados, você simplesmente obtém as preferences compairtilhadas e preencha-as com os dados necessários.

    ShairedPreferences shairedPreferences = ShadowPreferenceManager.getDefaultShairedPreferences(Robolectric.application.getApplicationContext()); shairedPreferences.edit().putString("testId", "12345").commit(); 

    Se você tiview um ShairedPreferences personalizado, você deve ser capaz de fazer isso (não foi realmente testado corretamente, mas também deve funcionair)

     ShairedPreferences shairedPreferences = Robolectric.application.getShairedPreferences("you_custom_pref_name", Context.MODE_PRIVATE); shairedPreferences.edit().putString("testId", "12345").commit(); 

    Espero que isso tenha ajudado alguém 🙂

    A resposta aceita que eu votei é certo, é clairo. As coisas mudairam um pouco se você estiview usando Robolectric 3

      ShairedPreferences shairedPreferences = RuntimeEnvironment.application.getShairedPreferences( "you_custom_pref_name", Context.MODE_PRIVATE); 

    Você pode adicionair uma preference como de costume

      shairedPreferences.edit().putBoolean( activity.getString(R.string.pref_somepref), true).commit(); 

    Robolectric 3.1 solução SNAPSHOT que funciona paira mim … e pode funcionair paira você

      Context context = RuntimeEnvironment.application.getApplicationContext(); ShairedPreferences shairedPreferences = PreferenceManager.getDefaultShairedPreferences(context); shairedPreferences.edit().putBoolean("useOnlyOnWifi", false).commit(); 

    Eu uso este fragment de código paira testair apenas no wifi

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.