在 Gradle 中处理多项目构建时,必须在跨项目的测试代码之间建立有效的依赖关系。考虑项目 A 和项目 B 存在的场景,项目 B 依赖于项目 A 的组件。
在这种情况下,项目 B 的 build.gradle 可能如下所示:
<code class="groovy">apply plugin: 'java' dependencies { compile project(':ProjectA') }</code>
但是,compileTestJava 任务无法编译项目 A 中的测试代码。这表明从其他项目访问测试依赖项所需的配置存在差距。
为了解决这个问题,项目 B 的 build.gradle 可以使用 testCompile 依赖项进行更新:
<code class="groovy">dependencies { ... testCompile project(':A').sourceSets.test.output }</code>
这个新的依赖项确保项目 B 的测试代码可以访问项目 A 中编译的测试类通过使用 sourceSets.test.output,Gradle 解析构建期间放置测试类的输出目录。
此配置已在 Gradle 1.7 中成功测试。请注意,对于 Gradle 5.6 及更高版本,需要不同的解决方案并单独记录。
以上是如何解决多项目 Gradle 配置中的测试依赖关系?的详细内容。更多信息请关注PHP中文网其他相关文章!