我创建了一个androidLibrary
项目,其中包含一些Volley
个请求类,
并希望为其中一些请求编写单元测试。
我已经完成了一百次这样的事情,并且在几次尝试后它以某种方式工作,但从未在第一次尝试。
如果我通过androidStudio试试这个
RightClick Project-> New-> Android资源目录
您可以选择sourceSets" main"," debug"和"发布"。没有androidTest
选项。
如果我手动尝试,请添加以下文件夹[moduleName]/src/androidTest/res/raw
并将文件放入(比如image.jpg),我没有通过R.raw.image
获得参考。事实上,我根本无法访问我的测试中的R.raw
。
我还尝试了Build-> rebuild项目或Build->干净但没有成功。
在其他项目中,my.app.namespace.R
沿着my.app.namespace.test.R
保存所有测试资源。
所以我的问题是:
我需要做什么才能将res
文件夹添加到我的androidTest,可以通过R.[folder].[resId]
访问?
添加文件后我是否错过了一个关键步骤(即明确告诉gradle)?
因为在build.gradle
中添加这样的标记似乎没有任何区别:
android {
sourceSets {
androidTest {
java.srcDirs = ['src/androidTest/java']
res.srcDirs = ['src/androidTest/res']
}
}
}
如果重要我正在使用:
答案 0 :(得分:1)
我在the update of Michael Krussel答案:
的帮助下想出了发生了什么 Android Studio 不自动编译my.app.namespace.test
包。您需要做的就是第一次运行测试,忽略可能出现的错误AndroidStudio
。
第一次运行后,您可以访问整个test
命名空间(包括*.test.R
类)
不需要额外的gradle配置(如上面的sourceSets
)!