5

我正在尝试让 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 对远程源集的限制?

4

0 回答 0