我想在gradle build
不执行单元测试的情况下执行.我试过了:
$ gradle -Dskip.tests build
Run Code Online (Sandbox Code Playgroud)
这似乎没有做任何事情.我可以使用其他命令吗?
c_m*_*ker 1150
您应该使用-x
排除任何任务的命令行参数.
尝试:
gradle build -x test
Run Code Online (Sandbox Code Playgroud)
更新:
Emi*_*Sit 96
尝试:
gradle assemble
Run Code Online (Sandbox Code Playgroud)
要列出项目的所有可用任务,请尝试:
gradle tasks
Run Code Online (Sandbox Code Playgroud)
更新:
这看起来似乎不是最正确的答案,但请仔细阅读gradle tasks
输出或文档.
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
Run Code Online (Sandbox Code Playgroud)
Dav*_*ick 32
接受的答案是正确的答案.
OTOH,我之前解决这个问题的方法是将以下内容添加到所有项目中:
test.onlyIf { ! Boolean.getBoolean('skip.tests') }
Run Code Online (Sandbox Code Playgroud)
运行构建,-Dskip.tests=true
将跳过所有测试任务.
Sah*_*bra 22
gradle 中的每个操作都是 a task
,也是test
。要从task
gradle run 中排除 a,您可以使用该选项--exclude-task
或其简写形式,-x
后跟需要排除的任务名称。例子:
gradle build -x test
Run Code Online (Sandbox Code Playgroud)
-x
应对所有需要排除的任务重复该选项。
如果文件中不同类型的测试有不同的任务build.gradle
,那么您需要跳过所有执行测试的任务。假设您有一个test
执行单元测试的任务和一个testFunctional
执行功能测试的任务。在这种情况下,您可以排除所有测试,如下所示:
gradle build -x test -x testFunctional
Run Code Online (Sandbox Code Playgroud)
Gui*_* He 13
您可以将以下行添加到build.gradle
,以**/*
排除所有测试。
test {
exclude '**/*'
}
Run Code Online (Sandbox Code Playgroud)
使用-x test
跳过测试执行,但这也不包括测试代码编译。
gradle build -x test
Run Code Online (Sandbox Code Playgroud)
在我们的例子中,我们有一个 CI/CD 过程,其中一个目标是编译,下一个目标是测试(构建 -> 测试)。
因此,对于我们的第一个Build
目标,我们希望确保整个项目编译良好。为此,我们使用了:
./gradlew build testClasses -x test
Run Code Online (Sandbox Code Playgroud)
在下一个目标上,我们只是执行测试。
要从 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'
}
Run Code Online (Sandbox Code Playgroud)
输出:gradle -q dist -x runningTest
task compile
compile test
running distribution job
Run Code Online (Sandbox Code Playgroud)
希望这能为您提供基本的
小智 5
在项目中禁用测试任务的不同方法是:
tasks.withType(Test) {enabled = false}
Run Code Online (Sandbox Code Playgroud)
如果您想在一个项目(或一组项目)中禁用测试,有时需要这种行为。
这种方式适用于所有类型的测试任务,而不仅仅是 Java“测试”。此外,这种方式是安全的。这就是我的意思,让我们说:您有一组不同语言的项目:如果我们尝试在 main 中添加这种记录build.gradle
:
subprojects{
.......
tests.enabled=false
.......
}
Run Code Online (Sandbox Code Playgroud)
如果我们没有称为测试的任务,我们将在项目中失败
归档时间: |
|
查看次数: |
337806 次 |
最近记录: |