有没有其他方法来模拟Android测试的SharedPreferences?

时间:2017-03-30 12:46:39

标签: android unit-testing android-testing robolectric android-instrumentation

我正在使用Espresso为Android应用编写UI测试。但是存在一个问题,即模拟SharedPreferences数据是不可能的。我找到了一些解决方法,但他们正在使用依赖注入(Dagger2 primary)。

有没有办法可以在没有任何依赖注入的情况下模拟prefs? 也许存在另一个适合它的测试框架?

Edit: 我需要在仪表化中模拟SharedPreferences,而不是单元测试。

1 个答案:

答案 0 :(得分:2)

结帐Robolectric。然后你就这样做了:

SharedPreferences sharedPreferences = Robolectric.application
      .getSharedPreferences("you_custom_pref_name", Context.MODE_PRIVATE);

来自official website

  

Robolectric是一个单元测试框架,用于解析Android SDK jar,因此您可以测试Android应用程序的开发。测试在几秒钟内在工作站上的JVM内运行。