我正在使用Espresso为Android应用编写UI测试。但是存在一个问题,即模拟SharedPreferences
数据是不可能的。我找到了一些解决方法,但他们正在使用依赖注入(Dagger2 primary)。
有没有办法可以在没有任何依赖注入的情况下模拟prefs? 也许存在另一个适合它的测试框架?
Edit:
我需要在仪表化中模拟SharedPreferences
,而不是单元测试。
答案 0 :(得分:2)
结帐Robolectric。然后你就这样做了:
SharedPreferences sharedPreferences = Robolectric.application
.getSharedPreferences("you_custom_pref_name", Context.MODE_PRIVATE);
Robolectric是一个单元测试框架,用于解析Android SDK jar,因此您可以测试Android应用程序的开发。测试在几秒钟内在工作站上的JVM内运行。