几个小时以来,我一直在努力弄清楚如何在对我的 Android 应用程序进行单元测试时模拟对 Environment.getExternalStorateState()
的调用。
我已经能够模拟 SystemServices、Providers 和 Services,但我不知道如何模拟这个调用,因为它不是对我上下文中提供的东西的调用,而是对操作系统环境中的东西的调用。
如有帮助,将不胜感激。
最佳答案
你可以围绕这个调用编写 helper 并在之后轻松模拟它(很抱歉在类名中有 helper 部分):
public class EnvironmentHelper {
public String getStorageState() {
return Environment.getExternalStorateState();
}
}
或者,如果您使用 Robolectric,您可以调用:
ShadowEnvironment.setExternalStorageState(Environment.MEDIA_MOUNTED);
这取决于您的设置和需求,但我建议投资于 Robolectric 使用
关于android - 试图模拟 Environment.getExternalStorageState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20356290/