InstrumentationTestCase2为了纯粹的测试目的,我尝试在派生的测试用例中将文件写入外部SD卡.当在被测应用程序android.permission.WRITE_EXTERNAL_STORAGE的AndroidManifest.xml文件中配置时,这很有效,但如果此设置仅出现在AndroidManifest.xml测试项目的文件中,则不起作用.
当然,我不想将此权限添加到主清单中,因为我在功能测试期间只需要此功能.我怎样才能做到这一点?
我正在尝试使用以下目录结构(由Android Studio设置)进行测试:

我可以运行一些测试就好了,甚至AllTests.java运行也没有AndroidManifest.xml文件甚至在那里.问题是,对于我的一项新测试,我需要获得android.permission.INTERNET许可.所以,我将以下内容添加到目录中的AndroidManifest.xml文件中androidTest:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.core"
android:versionCode="2"
android:versionName="2.0" >
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不起作用.当我运行我的一个测试时,我仍然收到以下错误:
E/RestAPIRequestTest:权限被拒绝(缺少INTERNET权限?)
我已经尝试设置package为com.example.core.test我的AndroidManifest.xml文件(因为这是它显示在我的设置- >应用程序列表),但没有喜悦.
我认为它甚至不能识别AndroidManifest.xml文件,因为版本号也没有显示在测试应用程序的设置中.
如何为我的测试项目注入正确的权限?