我想执行gradle build
而不执行单元测试。我试过了:
$ gradle -Dskip.tests build
那似乎什么也没做。我还有其他命令可以使用吗?
-DskipTests
是对Maven
我想执行gradle build
而不执行单元测试。我试过了:
$ gradle -Dskip.tests build
那似乎什么也没做。我还有其他命令可以使用吗?
-DskipTests
是对Maven
Answers:
-x integTest
等,但仍然可以运行,但并不像Maven的毯子那样方便-DskipTests
。
run
我可以看到我的Hello程序的效果。但我认为它正在重新编译所有内容。我只想执行Java程序。
尝试:
gradle assemble
要列出项目的所有可用任务,请尝试:
gradle tasks
更新:
起初,这似乎不是最正确的答案,但请仔细阅读gradle tasks
输出或文档。
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
gradle assemble
将不会编译主文件。如果您要解决的问题是固定的,那么就需要gradle assemble testClasses
-我认为构建任务的命名很混乱。
可接受的答案是正确的。
OTOH,我之前解决此问题的方法是在所有项目中添加以下内容:
test.onlyIf { ! Boolean.getBoolean('skip.tests') }
运行构建时-Dskip.tests=true
,将跳过所有测试任务。
您可以将以下行添加到build.gradle
,以**/*
排除所有测试。
test {
exclude '**/*'
}
您可以排除任务
gradle build --exclude-task test
要从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
希望这会给你基本
在项目中禁用测试任务的不同方法是:
tasks.withType(Test) {enabled = false}
如果您想禁用一个项目(或项目组)中的测试,有时会需要此行为。
这种方式适用于所有类型的测试任务,而不仅仅是Java“测试”。同样,这种方式是安全的。我的意思是说:您有一组使用不同语言的项目:如果我们尝试在main中添加这种记录build.gradle
:
subprojects{
.......
tests.enabled=false
.......
}
如果没有称为测试的任务,我们将在项目中失败
请尝试以下方法:
gradlew -DskipTests=true 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构建有两种选择:
$ gradle assemble
$ gradle build -x test
但是如果您要编译测试:
$ gradle assemble testClasses
$ gradle testClasses