如何在 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']
        }
    }
}

如果重要我正在使用:

我在 the update of Michael Krussel 的帮助下弄明白了是怎么回事 答案:

Android Studio 不会 自动编译 my.app.namespace.test 包。您需要做的就是第一次 运行 测试,忽略 AndroidStudio 可能出现的错误。

在第一个 运行 之后,您可以访问整个 test 命名空间(包括 *.test.R class)

不需要额外的 gradle 配置(如上面的 sourceSets)!