Gradle编译测试但不运行它们

Gab*_*yas 8 gradle

我想运行一个Gradle构建来编译测试(src/test/java目录中的JUnit测试)但不运行它们.

./gradlew build编译并运行测试,./gradlew build -x test而不编译测试.我也尝试过./gradlew build -x testClasses,但这并不好 - 它构建并运行测试.

有没有办法实现这个目标?

jma*_*eis 16

TL; DR:gradle testClasses编译测试源代码.


test排除-task 时,不需要编译测试源代码的任务.Gradle看到了并且不会执行不需要的任务.

这是任务依赖图,当您排除某些内容时,将删除其他任务不需要的所有任务. Java任务图 源Gradle用户指南

因此,查看任务依赖关系图testClasses是编译测试源代码和处理资源的任务.

您可以将此任务添加到您的命令,

gradle build testClasses -x test
Run Code Online (Sandbox Code Playgroud)

或者甚至更好地使用assemble-task(使用-task构建jar)testClasses.有了这个,您不必排除测试.

gradle assemble testClasses
Run Code Online (Sandbox Code Playgroud)