我想在不执行单元测试的情况下执行gradle build
。我试过了:
$ gradle -Dskip.tests build
这似乎没有做任何事情。我还可以使用其他命令吗?
答案 0 :(得分:1035)
您应该使用排除任何任务的-x
命令行参数。
尝试:
gradle build -x test
<强>更新强>
彼得评论中的链接发生了变化。以下是diagram
中的Gradle user's guide答案 1 :(得分:83)
尝试:
gradle assemble
要列出项目的所有可用任务,请尝试:
gradle tasks
更新:
这可能看起来不是最正确的答案,但请仔细阅读gradle tasks
输出或文档。
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
答案 2 :(得分:32)
接受的答案是正确的答案。
OTOH,我以前解决这个问题的方法是将以下内容添加到所有项目中:
test.onlyIf { ! Boolean.getBoolean('skip.tests') }
使用-Dskip.tests=true
运行构建,将跳过所有测试任务。
答案 3 :(得分:6)
您可以将以下行添加到build.gradle
,**/*
排除所有测试。
test {
exclude '**/*'
}
答案 4 :(得分:4)
从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
希望这会给你基本的
答案 5 :(得分:3)
使用-x test
跳过测试执行,但这也排除了测试代码的编译。
gradle build -x test
在我们的案例中,我们有一个CI / CD流程,其中一个目标是编译,下一个目标是测试(构建->测试)。
因此,对于我们的第一个Build
目标,我们希望确保整个项目都能很好地编译。为此,我们使用了:
./gradlew build testClasses -x test
对于下一个目标,我们只需执行测试即可。
答案 6 :(得分:2)
gradle中的每个动作都是task
,test
也是。要从gradle运行中排除task
,可以使用选项--exclude-task
或简写-x
,后跟需要排除的任务名称。示例:
gradle build -x test
对于所有需要排除的任务,应重复使用-x
选项。
如果build.gradle
文件中针对不同类型的测试有不同的任务,则需要跳过所有执行测试的任务。假设您有一个执行单元测试的任务test
和一个执行功能测试的任务testFunctional
。在这种情况下,您可以排除以下所有测试:
gradle build -x test -x testFunctional
答案 7 :(得分:1)
在项目中禁用测试任务的不同方法是:
tasks.withType(Test) {enabled = false}
如果要在项目(或项目组)中禁用测试,有时需要此行为。
这种方式适用于所有类型的测试任务,而不仅仅是java&#39;测试&#39;。而且,这种方式是安全的。这就是我的意思
让我们说:你有一套不同语言的项目:
如果我们尝试在主build.gradle
中添加此类记录:
subprojects{
.......
tests.enabled=false
.......
}
如果我们没有名为 tests 的任务,我们将在项目中失败
答案 8 :(得分:1)
您可以排除任务
$(document).off("dblclick", ".firstlevel, .secondlevel, .thirdlevel")
答案 9 :(得分:1)
你可以使用 gradle build -x test
它将排除测试。
答案 10 :(得分:0)
gradle build -x test --parallel
如果您的计算机有多个核心。但是,不建议使用并行清洁。
答案 11 :(得分:0)
请尝试以下操作:
gradlew -DskipTests=true build
答案 12 :(得分:0)
$ 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 build,您有两个选择:
$ gradle assemble
$ gradle build -x test
但是如果要进行编译测试:
$ gradle assemble testClasses
$ gradle testClasses
答案 13 :(得分:0)
您将必须添加-x test
例如./gradlew build -x test
或
gradle build -x test