如何在Robolectric 3中获取上下文。

17
我曾以这种方式在Robolectric 2.x中访问应用程序上下文,但不知道如何在Robolectric 3中进行。
return new ClassThatNeedsAContext(Robolectric.application.getApplicationContext());
1个回答

21
< p > [编辑]
Robolectric 2.4-to-3.0 升级指南
https://github.com/robolectric/robolectric/wiki/2.4-to-3.0-Upgrade-Guide


[旧响应] 通过查看 Robolectric 的示例代码,也许我找到了解决方案。 https://github.com/robolectric/robolectric/blob/f4935bff58ae6a16b1230c3a415973e97713c0fb/robolectric/src/test/java/org/robolectric/shadows/ViewInnerTextTest.java#L22

return new ClassThatNeedsAContext(RuntimeEnvironment.application);

但是我在使用某些库时遇到了其他问题,所以我还无法测试它。


似乎是一个奇怪的解决方法,特别是考虑到他们给它起的名字。我想知道为什么他们删除了阴影应用程序。但这确实提供了上下文。+1 - pjco
2
更多信息请参见 https://github.com/robolectric/robolectric/wiki/2.4-to-3.0-Upgrade-Guide-(Draft)。 - Antonio Jose
@AntonioJose,我认为那个链接已经失效了,请尝试这个链接:https://github.com/robolectric/robolectric/wiki/2.4-to-3.0-Upgrade-Guide。 - John Shelley
这只是提供了上下文。context.mLoadedApk.mPackageName="org.robolectric.default"。 - IgorGanapolsky

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