我正在尝试使用Gradle Java插件来执行Android项目中存在的jUnit测试。我的解决方案是创建一个应用Java插件的第二个模块,并将测试sourceSet设置为app模块的src / test目录。
test-module的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作为testCompile项目依赖项,但这不会导致测试模块添加app-module的测试。
让测试模块运行app-module的测试而不会激发Android Studio对远程源集的限制的任何想法?