如何配置android测试目录?

gre*_*egm 10 android android-gradle-plugin

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

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

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

androidTest.setRoot('tests')
Run Code Online (Sandbox Code Playgroud)

android gradle build会这样做:"注意:setRoot()将整个sourceSet(及其子文件夹)移动到一个新文件夹.这会将src/androidTest/*移动到tests/*"

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

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

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

androidTest
{
    java.srcDirs = ['tests']
}
Run Code Online (Sandbox Code Playgroud)

Xav*_*het 13

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

  • java在 tests/java
  • android res都在 tests/res
  • 等等...

您可以单独配置它们

android {
  sourceSets {
    androidTest {
      java.srcDirs = ['tests']
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

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