我想运行一个编译测试的Gradle构建(src/test/java
目录中的JUnit测试)但不运行它们。
./gradlew build
编译并运行测试,而./gradlew build -x test
不编译测试。我也尝试了./gradlew build -x testClasses
,但这并不好 - 它构建并运行测试。
有没有办法实现这个目标?
答案 0 :(得分:12)
TL; DR:gradle testClasses
编译测试源代码。
排除test
- 任务时,不需要编译测试源代码的任务。 Gradle看到了这一点,并且不会执行不需要的任务。
这是任务依赖图,当您排除某些内容时,将删除其他任务不需要的所有任务。 source Gradle User Guide
因此,查看任务依赖关系图testClasses
是编译测试源代码和处理资源的任务。
您可以将此任务添加到您的命令
gradle build testClasses -x test
甚至更好地使用assemble
- 任务(构建jar)和testClasses
- 任务。有了这个,您不必排除测试。
gradle assemble testClasses