java为Robolectric的SharedReference提供测试数据
刚刚开始使用机器人分子,这似乎是我所需要的。然而,在使用SharedReference方面,我遇到了一些障碍
我有两个测试用例
活动需要新的/空的SharedReferences
活动要求共享数据引用,其中已包含一些数据
对于测试用例1,测试按预期通过,因此一切正常:)
然而,对于测试用例2,我似乎无法找到一个好方法来为Robolectric提供一些虚假数据,因此活动能够访问这些虚假数据
这感觉像是一个非常常见的用例,但我似乎不知道如何去做
# 1 楼答案
我投票赞成的公认答案当然是正确的。如果您使用的是Robolectric 3,情况会有轻微的变化
然后,您可以像往常一样添加首选项
# 2 楼答案
robolectric:4.0.2
使用val context = ApplicationProvider.getApplicationContext<YourApplication>() PreferenceManager.getDefaultSharedPreferences(context)
# 3 楼答案
适用于我的Robolectric 3.1快照解决方案。。。也许对你有用
我只使用这段代码在wifi上进行测试
# 4 楼答案
发现了原因-现在看起来很明显
对于那些感兴趣的人,您只需获取SharedReferences,并用所需的数据填充它
如果您有一个自定义的SharedReferences,您应该能够做到这一点(还没有真正正确地进行测试,但也应该可以正常工作)
希望这对某人有所帮助:)