我正在尝试让 Gradle Java 插件执行 Android 项目中存在的 jUnit 测试。我的解决方案是创建第二个应用 Java 插件的模块,并将测试 sourceSet 设置为 app 模块的 src/test 目录。
测试模块的 build.gradle:
apply plugin: 'java'
...
dependencies {
...
testCompile project(':app-module')
}
sourceSets {
test {
java.srcDirs += ["${appDir}/src/test/java"]
}
}
这在命令行中运行良好,但 Android Studio 拒绝导入在子模块之外具有源集的项目。它抛出错误:Can't register given path of type 'TEST' because it's out of content root.
.
├── app-module
│ ├── build.gradle
│ └── src
│ ├── main
│ └── test
├── test-module
│ └── build.gradle
├── build.gradle
└── settings.gradle
我尝试从父 build.gradle 配置它,但这并没有改变任何东西。我可以将 app-module 添加为 test-module 中的 testCompile 项目依赖项,但这不会导致 test-module 添加 app-module 的测试。
有什么想法可以让 test-module 运行 app-module 的测试而不引起 Android Studio 对远程源集的限制?