试图模拟Environment.getExternalStorageState

 wjwakx5792 发布于 2023-02-13 10:35

我一直在试图弄清楚如何Environment.getExternalStorateState()在单元测试我的Android应用程序时模拟调用.

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

会对一些帮助表示感谢.

1 个回答
  • 您可以围绕此调用编写帮助程序并在之后轻松模拟它(抱歉在类名中包含帮助程序部分):

    public class EnvironmentHelper {
        public String getStorageState() {
            return Environment.getExternalStorateState();
        }     
    }
    

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

    ShadowEnvironment.setExternalStorageState(Environment.MEDIA_MOUNTED);
    

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

    2023-02-13 10:38 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有