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

$ gradle -Dskip.tests build

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


当前回答

在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

希望这能给你基本的

请尝试以下操作:

gradlew-DskipTests=真实构建

在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

分级中的每一个动作都是一项任务,考试也是如此。要从grade运行中排除任务,可以使用选项--exclude-task或其缩写-x,后跟需要排除的任务名称。例子:

gradle build -x test

对于需要排除的所有任务,应重复-x选项。

如果在build.gradle文件中有不同类型测试的不同任务,则需要跳过所有执行测试的任务。假设您有一个执行单元测试的任务测试和一个执行功能测试的任务testFunctional。在这种情况下,您可以排除以下所有测试:

gradle build -x test -x testFunctional

在项目中禁用测试任务的不同方法是:

tasks.withType(Test) {enabled = false}

如果您想在一个项目(或一组项目)中禁用测试,有时需要这种行为。

这种方式适用于所有类型的测试任务,而不仅仅是java“测试”。而且,这种方式是安全的。这就是我的意思假设:您有一组不同语言的项目:如果我们尝试在main build.gradle中添加这种记录:

 subprojects{
 .......
 tests.enabled=false
 .......
}

如果我们没有名为测试的任务,我们将在项目中失败