android – 试图模拟Environment.getExternalStorageState

前端之家收集整理的这篇文章主要介绍了android – 试图模拟Environment.getExternalStorageState前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直试图弄清楚如何在单元测试我的 Android应用程序时模拟对Environment.getExternalStorateState()的调用.

我已经能够模拟SystemServices,Providers和Services,但我无法弄清楚如何模拟这个调用,因为它不是对我的上下文中提供的东西的调用,而是OS环境中的某些东西.

会对一些帮助表示感谢.

解决方法

您可以围绕此调用编写帮助程序并在之后轻松模拟它(抱歉在类名中包含帮助程序部分):
public class EnvironmentHelper {
    public String getStorageState() {
        return Environment.getExternalStorateState();
    }     
}

或者,如果您使用Robolectric,您可以致电:

ShadowEnvironment.setExternalStorageState(Environment.MEDIA_MOUNTED);

这取决于您的设置和需求,但我建议投资Robolectric使用

原文链接:https://www.f2er.com/android/308708.html

猜你在找的Android相关文章