我想在不执行单元测试的情况下执行grade构建。我尝试了:

$ gradle -Dskip.tests build

这似乎没什么用。还有其他命令可以使用吗?


当前回答

使用-xtest跳过测试执行,但这也排除了测试代码编译。

gradle build -x test 

在我们的案例中,我们有一个CI/CD过程,其中一个目标是编译,下一个目标就是测试(构建->测试)。

因此,对于我们的第一个构建目标,我们希望确保整个项目编译良好。为此,我们使用了:

./gradlew build testClasses -x test

在下一个目标中,我们只需执行测试:

./gradlew test

其他回答

您应该使用-x命令行参数来排除任何任务。

尝试:

gradle build -x test 

更新:

彼得评论中的链接发生了变化。这是Gradle用户指南中的图表

您可以排除任务

 gradle build --exclude-task test 

https://docs.gradle.org/current/userguide/command_line_interface.html#sec:command_line_executing_tasks

使用-xtest跳过测试执行,但这也排除了测试代码编译。

gradle build -x test 

在我们的案例中,我们有一个CI/CD过程,其中一个目标是编译,下一个目标就是测试(构建->测试)。

因此,对于我们的第一个构建目标,我们希望确保整个项目编译良好。为此,我们使用了:

./gradlew build testClasses -x test

在下一个目标中,我们只需执行测试:

./gradlew test

公认的答案是正确的。

OTOH,我之前解决这个问题的方法是在所有项目中添加以下内容:

test.onlyIf { ! Boolean.getBoolean('skip.tests') }

使用-Dskip.tests=true运行生成,将跳过所有测试任务。

Try:

gradle assemble

要列出项目的所有可用任务,请尝试:

gradle tasks

更新:

起初,这似乎不是最正确的答案,但仔细阅读任务输出或文档。

Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.