gpt4 book ai didi

gradle - 在本地运行Azure Pipeline Gradle任务

转载 作者:行者123 更新时间:2023-12-03 05:06:05 27 4
gpt4 key购买 nike

我正在尝试通过在本地运行Azure管道来调试Gradle任务。该任务的YAML定义是:

- task: Gradle@2
displayName: 'Test Project'
inputs:
gradleWrapperFile: 'gradlew'
gradleOptions: '-Xmx7000m'
sonarQubeRunAnalysis: true
sonarQubeGradlePluginVersion: 2.6.2
testRunTitle: $(DISPLAY_NAME)
codeCoverageToolOption: JaCoCo
publishJUnitResults: true
testResultsFiles: '**/build/test-results/test/TEST-*.xml'
tasks: "test -Dtest.profile=unit --parallel"

我试图找出等效的本地命令。我已经到了
./gradlew test -DcodeCoverageToolOption=JaCoCo -Dtest.profile=unit --parallel

但是,我不确定如何传递其他参数,例如 codeCoverageToolOption: JaCoCo

最佳答案

1.codeCoverageToolOption:JaCoCo

对于Azure Devops,codeCoverageToolOption: JaCoCo意味着选择一个代码覆盖率工具JaCoCo来确定测试用例涵盖的代码。但是,没有这样的命令可以使选择使用哪个代码覆盖率工具。

在gradle中,类似的操作是先在JaCoCo中将dependencies插件添加为build.gradle。现在,您可以调用jacocoTestReport任务来创建代码覆盖率报告。

./gradlew test jacocoTestReport

注意:如果 jacocoTestReport文件不存在,则 test.exec任务将不执行任何操作。因此,您应该始终先运行 testbuild任务

2. testResultsFiles

对于YAML中的 testResultsFiles,它用于指定应放入的测试结果文件。但是,对于gradle而言,其默认路径是 build/reports/jacoco/test/html/index.html,该路径在 build.gradle文件中指定。简单样本:
task codeCoverageReport(type: JacocoReport) {
executionData fileTree(project.rootDir.absolutePath).include("**/build/jacoco/*.exec")
subprojects.each {
sourceSets it.sourceSets.main
}
reports {
xml.enabled true
xml.destination "${buildDir}/reports/jacoco/{TestResultFileName}.xml"
html.enabled false
csv.enabled false
}
}

3. publishJUnitResults:正确

在azure devops中,我们不使用gradle命令将测试结果文件发布到VSTS中。我们使用脚本 CodeCoverage Publish实现此目的。

关于gradle - 在本地运行Azure Pipeline Gradle任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58377931/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com