azure - 如何在azure pipeline yaml文件的maven目标中添加标签

标签 azure selenium-webdriver azure-devops azure-pipelines cucumber-jvm

我需要在包含@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/

相关文章:

azure - 如何转义 ARM 模板中的左方括号?

azure - 如何使用其他订阅在 Azure 上创建新网站

python - 如何在python的azure函数中使用req.get_body(),其目的是什么?

java - Selenium 网络驱动程序 : How to verify a text that is within h2 and duplicated class

linux - 如何在vsts在线构建任务中在linux上安装azCopy?

powershell - 有没有一种简便的方法可以在本地计算机上运行Azure DevOps PowerShell脚本?

azure - 流定位器在 Azure 媒体服务中代表什么?

python - Selenium:driver.get_cookies() 返回不完整的 cookie 列表

javascript - 如果由 javascript 提供服务,如何使用 WebClient 下载文件

Azure Devops - 生产部署的服务主体手动(或)服务主体自动?