在使用Android Studio执行Espresso测试时,我在写入内部存储时收到一个异常:
java.io.FileNotFoundException: /storage/emulated/0/MyCache: open failed: EACCES (Permission denied)
我理解这个问题是由于缺乏权限引起的。
我的问题是,我是否需要为Espresso测试创建额外的AndroidManifest文件,还是应该使用应用程序本身的现有AndroidManifest文件? 我尝试了第二个选项,但似乎我的应用程序的AndroidManifest.xml中看不到MainActivityTest。
请参考附带的截图:
我理解这个问题是由于缺乏权限引起的。
我的问题是,我是否需要为Espresso测试创建额外的AndroidManifest文件,还是应该使用应用程序本身的现有AndroidManifest文件? 我尝试了第二个选项,但似乎我的应用程序的AndroidManifest.xml中看不到MainActivityTest。
请参考附带的截图:
InstrumentationRegistry.getTargetContext()
访问测试应用程序(AUT)上下文。因此,如果您已在AUT中声明所需的权限,则可以使用其上下文。另一种可能性是将缓存文件保存在AUT或测试应用程序包存储中-data/data/com.your.package/files/cache_file。然后您根本不需要权限。 - denys