gpt4 book ai didi

java - 默认情况下对项目依赖项运行 gradle 测试

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:13:50 25 4
gpt4 key购买 nike

有没有一种干净的方法可以在 Gradle 中运行项目 Java 依赖项的所有测试任务?我注意到 Java 依赖项只运行它们的“jar”任务,并跳过测试/构建。

主要代码 build.gradle

dependencies {
compile project(":shared-code")
}

gradle :main-code:build <-- 我要运行的命令(也将运行 :shared-code:tests ,不想明确说明)

:shared-code:compileJava UP-TO-DATE
:shared-code:processResources UP-TO-DATE
:shared-code:classes
:shared-code:jar

<-- 共享代码实际运行的内容(不缺少构建/测试)

** 我能想到的最好的事情是在带有测试的 jar 上执行 finalizeBy 任务

最佳答案

更新:实际上有一个任务叫做buildNeeded

buildNeeded - Assembles and tests this project and all projects it depends on.

它将构建您当前项目所依赖的项目的运行测试。


旧答案: 似乎 gradle 并没有开箱即用(在版本 2.14.1 上测试过)。 我想出了一个解决方法。 build 任务触发对其他任务链的评估,其中包括测试阶段。

testwebserver/lib$ gradle build --daemon
:testwebserver-lib:compileJava UP-TO-DATE
:testwebserver-lib:processResources UP-TO-DATE
:testwebserver-lib:classes UP-TO-DATE
:testwebserver-lib:jar UP-TO-DATE
:testwebserver-lib:assemble UP-TO-DATE
:testwebserver-lib:compileTestJava UP-TO-DATE
:testwebserver-lib:processTestResources UP-TO-DATE
:testwebserver-lib:testClasses UP-TO-DATE
:testwebserver-lib:test UP-TO-DATE
:testwebserver-lib:check UP-TO-DATE
:testwebserver-lib:build UP-TO-DATE

为了强制测试依赖项目(testwebserver)的依赖项目(testwebserver-lib),我在testwebserver/build.gradle中添加了一个任务依赖:

...
compileJava.dependsOn ':testwebserver-lib:test'

dependencies {
compile project(':testwebserver-lib')
}
...

关于java - 默认情况下对项目依赖项运行 gradle 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39639080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com