jlh*_*ora 36 android robotium android-resources
我在Android Studio中有以下文件夹结构:
??? androidTest
? ??? java
? ??? res
? ??? raw
? ??? test_file
??? main
??? java
??? res
??? raw
??? app_file
Run Code Online (Sandbox Code Playgroud)
我正在尝试访问test_file
androidTest元素的原始文件夹中存在的资源.这是继承自以下内容的Robotium测试用例中的代码ActivityInstrumentationTestCase2
:
InputStream is = this.getInstrumentation()
.getContext()
.getResources()
.openRawResource(R.raw.test_file);
Run Code Online (Sandbox Code Playgroud)
由于无法找到资源,Android Studio会引发参考错误.确切的错误是"无法解析符号test_file".
如何从androidTest资源包中存在的测试用例中引用此资源?
Jac*_*Ras 42
默认情况下,您的androidTest项目将包含您的应用程序的R类,但androidTest的资源将生成一个单独的文件.确保从测试项目中导入R类:
import com.your.package.test.R;
[..]
getInstrumentation().getContext().getResources().openRawResource(R.raw.test_file);
Run Code Online (Sandbox Code Playgroud)
您也可以直接引用测试项目的R类:
getInstrumentation().getContext().getResources().openRawResource(com.your.package.test.R.raw.test_file);
Run Code Online (Sandbox Code Playgroud)
jos*_*ick 14
我有androidTest
正确的位置资源(src/androidTest/res
),我仍然无法访问它们<normal.package>.test.R
.我花了很多时间谷歌搜索试图弄清楚发生了什么..
我终于找到了答案.如果您正在构建buildType
指定的位置applicationIdSuffix
,那么您的文件就在<applicationId><applicationIdSuffix>.test.R
!!!!
即
applicationId "com.example.my.app"
buildTypes {
debug {
applicationIdSuffix ".debug"
}
}
Run Code Online (Sandbox Code Playgroud)
如果您在正确的目录中有androidTest资源,那么您只能通过com.example.my.app.debug.test.R
!!!! 访问它们.
归档时间: |
|
查看次数: |
13607 次 |
最近记录: |