如何在 Android Studio 中将资源添加到 androidTest for android 库
How to add resources to androidTest for android library in AndroidStudio
我制作了一个 androidLibrary
项目,其中包含一些 Volley
请求 类,
并想为其中一些请求编写单元测试。
我已经这样做了一百次,并且在尝试了几次之后以某种方式 成功了,但第一次尝试时却没有成功。
如果我通过 androidStudio 尝试这个
右键项目->新建->Android资源目录
您可以在源集 "main"、"debug" 和 "release" 之间进行选择。没有 androidTest
选项。
如果我手动尝试,添加以下文件夹 [moduleName]/src/androidTest/res/raw
并在里面放一个文件(比方说 image.jpg),我没有通过 R.raw.image
获得参考。事实上,我根本无法在我的测试中访问 R.raw
。
我也尝试了 Build->rebuild project 或 Build->clean 但没有成功。
在其他项目中,我有一个 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']
}
}
}
如果重要我正在使用:
- Android Studio 3.1.2
- gradle-包装器 4.4
- minSdkVersion 19
- targetSdkVersion 27
我在 the update of Michael Krussel 的帮助下弄明白了是怎么回事 答案:
Android Studio 不会 自动编译 my.app.namespace.test
包。您需要做的就是第一次 运行 测试,忽略 AndroidStudio
可能出现的错误。
在第一个 运行 之后,您可以访问整个 test
命名空间(包括 *.test.R
class)
不需要额外的 gradle 配置(如上面的 sourceSets
)!
我制作了一个 androidLibrary
项目,其中包含一些 Volley
请求 类,
并想为其中一些请求编写单元测试。
我已经这样做了一百次,并且在尝试了几次之后以某种方式 成功了,但第一次尝试时却没有成功。
如果我通过 androidStudio 尝试这个
右键项目->新建->Android资源目录
您可以在源集 "main"、"debug" 和 "release" 之间进行选择。没有 androidTest
选项。
如果我手动尝试,添加以下文件夹 [moduleName]/src/androidTest/res/raw
并在里面放一个文件(比方说 image.jpg),我没有通过 R.raw.image
获得参考。事实上,我根本无法在我的测试中访问 R.raw
。
我也尝试了 Build->rebuild project 或 Build->clean 但没有成功。
在其他项目中,我有一个 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']
}
}
}
如果重要我正在使用:
- Android Studio 3.1.2
- gradle-包装器 4.4
- minSdkVersion 19
- targetSdkVersion 27
我在 the update of Michael Krussel 的帮助下弄明白了是怎么回事 答案:
Android Studio 不会 自动编译 my.app.namespace.test
包。您需要做的就是第一次 运行 测试,忽略 AndroidStudio
可能出现的错误。
在第一个 运行 之后,您可以访问整个 test
命名空间(包括 *.test.R
class)
不需要额外的 gradle 配置(如上面的 sourceSets
)!