我想在不执行单元测试的情况下执行grade构建。我尝试了:
$ gradle -Dskip.tests build
这似乎没什么用。还有其他命令可以使用吗?
我想在不执行单元测试的情况下执行grade构建。我尝试了:
$ gradle -Dskip.tests build
这似乎没什么用。还有其他命令可以使用吗?
当前回答
分级中的每一个动作都是一项任务,考试也是如此。要从grade运行中排除任务,可以使用选项--exclude-task或其缩写-x,后跟需要排除的任务名称。例子:
gradle build -x test
对于需要排除的所有任务,应重复-x选项。
如果在build.gradle文件中有不同类型测试的不同任务,则需要跳过所有执行测试的任务。假设您有一个执行单元测试的任务测试和一个执行功能测试的任务testFunctional。在这种情况下,您可以排除以下所有测试:
gradle build -x test -x testFunctional
其他回答
Try:
gradle assemble
要列出项目的所有可用任务,请尝试:
gradle tasks
更新:
起初,这似乎不是最正确的答案,但仔细阅读任务输出或文档。
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
在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
参考
要从gradle中排除任何任务,请使用-x命令行选项。参见以下示例
task compile << {
println 'task compile'
}
task compileTest(dependsOn: compile) << {
println 'compile test'
}
task runningTest(dependsOn: compileTest) << {
println 'running test'
}
task dist(dependsOn:[runningTest, compileTest, compile]) << {
println 'running distribution job'
}
输出:gradle-q dist-x runningTest
task compile
compile test
running distribution job
希望这能给你基本的
分级中的每一个动作都是一项任务,考试也是如此。要从grade运行中排除任务,可以使用选项--exclude-task或其缩写-x,后跟需要排除的任务名称。例子:
gradle build -x test
对于需要排除的所有任务,应重复-x选项。
如果在build.gradle文件中有不同类型测试的不同任务,则需要跳过所有执行测试的任务。假设您有一个执行单元测试的任务测试和一个执行功能测试的任务testFunctional。在这种情况下,您可以排除以下所有测试:
gradle build -x test -x testFunctional
公认的答案是正确的。
OTOH,我之前解决这个问题的方法是在所有项目中添加以下内容:
test.onlyIf { ! Boolean.getBoolean('skip.tests') }
使用-Dskip.tests=true运行生成,将跳过所有测试任务。