我想在不执行单元测试的情况下执行grade构建。我尝试了:
$ gradle -Dskip.tests build
这似乎没什么用。还有其他命令可以使用吗?
我想在不执行单元测试的情况下执行grade构建。我尝试了:
$ gradle -Dskip.tests build
这似乎没什么用。还有其他命令可以使用吗?
当前回答
您应该使用-x命令行参数来排除任何任务。
尝试:
gradle build -x test
更新:
彼得评论中的链接发生了变化。这是Gradle用户指南中的图表
其他回答
在Java插件中:
$ gradle tasks
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
testClasses - Assembles test classes.
Verification tasks
------------------
test - Runs the unit tests.
分级构建而不进行测试,您有两种选择:
$ gradle assemble
$ gradle build -x test
但如果您想要编译测试:
$ gradle assemble testClasses
$ gradle testClasses
使用-xtest跳过测试执行,但这也排除了测试代码编译。
gradle build -x test
在我们的案例中,我们有一个CI/CD过程,其中一个目标是编译,下一个目标就是测试(构建->测试)。
因此,对于我们的第一个构建目标,我们希望确保整个项目编译良好。为此,我们使用了:
./gradlew build testClasses -x test
在下一个目标中,我们只需执行测试:
./gradlew test
请尝试以下操作:
gradlew-DskipTests=真实构建
您可以排除任务
gradle build --exclude-task test
https://docs.gradle.org/current/userguide/command_line_interface.html#sec:command_line_executing_tasks
分级中的每一个动作都是一项任务,考试也是如此。要从grade运行中排除任务,可以使用选项--exclude-task或其缩写-x,后跟需要排除的任务名称。例子:
gradle build -x test
对于需要排除的所有任务,应重复-x选项。
如果在build.gradle文件中有不同类型测试的不同任务,则需要跳过所有执行测试的任务。假设您有一个执行单元测试的任务测试和一个执行功能测试的任务testFunctional。在这种情况下,您可以排除以下所有测试:
gradle build -x test -x testFunctional