有没有其他方法可以模拟Android测试中的SharedPreferences?

3
我正在使用Espresso编写Android应用程序的UI测试。但是有一个问题,即无法模拟SharedPreferences数据。我找到了一些解决方法,但它们都使用依赖注入(主要是Dagger2)。
是否有任何方法可以在没有任何依赖注入的情况下模拟prefs?也许存在另一个适合此类测试的测试框架吗?
编辑:我需要在仪器化而不是单元测试中模拟SharedPreferences。
1个回答

3

请查看Robolectric。然后您需要执行以下操作:

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

官方网站得知:
Robolectric是一个单元测试框架,它“解除了”Android SDK jar包的限制,这样你就可以在开发Android应用程序时进行测试驱动。测试可以在工作站的JVM中运行,仅需几秒钟即可完成。

谢谢,我会去查看一下。Robolectric 是否跟踪主线程条件? - Alex
@Alex,你的意思是什么? - azizbekian
如果存在某个框架,可以让我使用模拟共享首选项进行仪器化测试吗? - Alex
@Alex,如果你想要进行模拟测试,为什么不试试Mockito呢? - azizbekian
因为我不知道适合的框架,所以才问这个问题 ;) 感谢您的帮助,我会去了解Mockito。 - Alex
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接