在 Gradle 中处理多项目构建时,必须在跨项目的测试代码之间建立有效的依赖关系。考虑项目 A 和项目 B 存在的场景,项目 B 依赖于项目 A 的组件。
在这种情况下,项目 B 的 build.gradle 可能如下所示:
apply plugin: 'java'
dependencies {
compile project(':ProjectA')
}
但是,compileTestJava 任务无法编译项目 A 中的测试代码。这表明从其他项目访问测试依赖项所需的配置存在差距。
为了解决这个问题,可以使用 testCompile 依赖项更新项目 B 的 build.gradle:
dependencies {
...
testCompile project(':A').sourceSets.test.output
}
这个新的依赖项确保项目 B 的测试代码可以访问项目 A 中已编译的测试类。通过使用 sourceSets.test.output,Gradle 解析在构建期间放置测试类的输出目录。
此配置已通过 Gradle 1.7 成功测试。请注意,对于 Gradle 5.6 及更高版本,需要不同的解决方案并单独记录。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3