OOTB,Robolectric不能很好地支持语言环境。因此,如果您的应用程序依赖于语言环境(如果它们是正确的,那么很多应用程序都是如此),这可能是一个巨大的痛苦。长话短说,我创建了自己的 ShadowFooGeocoder 和 ShadowFooAddress 来模拟我想要的语言环境。它们基本上是对现有阴影的重新实现。
但是,当我这样绑定我的类时:bindShadowClass(ShadowFooGeocoder.class),效果很好。在运行时,返回正确的阴影。问题是我想在这个对象上设置模拟,但我不确定如何。shadowOf(instance) 其中instance 是注入的GeoCoder 返回ShadowGeoCoder。我试过直接使用 ShadowWrangler,但这也返回了 ShadowGeocoder。
如何获得通过 bindShadowClass(...) 调用绑定的阴影类,以便设置期望(模拟)?
注意:这是对 Robolectric 小组的相同问题的转贴。我在这里发帖是因为我让任何人回答小组问题的成功率相当低。我希望这里有更好的结果。