如何在AndroidStudio中为androidTest的androidTest添加资源

时间:2018-05-25 14:01:40

标签: android unit-testing android-studio gradle android-resources

我创建了一个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']
        }
    }
}

如果重要我正在使用:

  • Android Studio 3.1.2
  • gradle-wrapper 4.4
  • minSdkVersion 19
  • targetSdkVersion 27

1 个答案:

答案 0 :(得分:1)

我在the update of Michael Krussel答案:

的帮助下想出了发生了什么

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

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

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