如何配置android测试目录?

时间:2014-03-19 13:58:48

标签: android android-gradle

Android gradle build强制我的AndroidTests在src / androidTests中。如何将其更改为我选择的另一个目录?

以下是一些背景知识: 我正在从eclipse迁移一个项目。

根据构建文档,当我将其添加到我的gradle构建文件时:

androidTest.setRoot('tests')

android gradle构建执行此操作: "注意:setRoot()将整个sourceSet(及其子文件夹)移动到新文件夹。这会将src / androidTest / *移动到tests / *"

这对于构建非常有用,并且可以很好地运行。

然而,它强制我的项目结构将我的androidTests放在:src / AndroidTest中。这使得Eclipse无法编译,因为它认为所有测试代码都应该在名为androidTests.com.etc.etc.etc的包中...

我想设置一些这样的属性:

androidTest
{
    java.srcDirs = ['tests']
}

2 个答案:

答案 0 :(得分:12)

androidTest.setRoot('tests')将重置sourceSets的根目录,以便

  • java位于tests/java
  • android res位于tests/res
  • 等...

您可以使用

单独配置它们
android {
  sourceSets {
    androidTest {
      java.srcDirs = ['tests']
    }
  }
}

注意:这使用android.sourceSets,因为Android插件使用自定义sourceSets。

答案 1 :(得分:2)

如何做到这一点略有不同。将以下内容放在我的build.gradle文件中对我有用:

android {
    sourceSets {
        androidTest{
            java.srcDir file('src/tests/java')
        }
    }
}