我需要在包含@tag的azure pipeline yaml文件中添加一个maven目标,当我这样做时,它会抛出一些错误,指出不允许@。
mvn test -Dcucumber.options="--tags '~@skip_scenario 和 @Regression'"
这是我需要添加到 yaml 文件中的目标
YAML: 触发:
- 大师
池: vmImage: 'windows-最新'
步骤:
- 任务:Maven@3 输入: mavenPomFile: 'pom.xml' maven选项:'-Xmx3072m' javaHomeOption: 'JDK版本' jdkVersion选项:'1.8' jdk架构选项:'x64' 发布JUnit结果:true testResultsFiles: '**/surefire-reports/TEST-*.xml' 目标:'test -Dcucumber.options="--tags @Smoke"'
错误: [错误] 未知的生命周期阶段“@Smoke”。您必须以 : 或 :[:]: 格式指定有效的生命周期阶段或目标。可用的生命周期阶段有:验证、初始化、生成源、流程源、生成资源、流程资源、编译、流程类、生成测试源、流程测试源、生成测试资源、流程测试资源、测试编译、流程测试类、测试、准备包、包、集成测试前、集成测试、集成测试后、验证、安装、部署、清理前、清理、清理后、站点前、站点、站点后、站点-部署。-> [帮助 1]
最佳答案
使用 Yaml 进行测试,我可以重现它。
导致该问题的原因是Maven任务中的goals
字段不支持该命令。
根据this doc :
生命周期包含验证、编译、测试、打包、验证、安装、部署。
您用来添加标签的命令是 Maven 命令行。您可以在Option
字段中添加命令。
例如:
- task: Maven@3
inputs:
mavenPomFile: 'pom.xml'
goals: 'test'
options: 'test -Dcucumber.options="--tags @Smoke"'
publishJUnitResults: true
testResultsFiles: '**/surefire-reports/TEST-*.xml'
javaHomeOption: 'JDKVersion'
mavenVersionOption: 'Default'
mavenAuthenticateFeed: false
effectivePomSkip: false
sonarQubeRunAnalysis: false
这是关于 the Maven task 的文档.
希望这有帮助。
关于azure - 如何在azure pipeline yaml文件的maven目标中添加标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62573464/