【发布时间】:2021-04-08 18:12:07
【问题描述】:
我正在尝试将azure-pipelines.yml 文件中的PublishTestResults@2 任务的failTaskOnFailedTests 参数分配为表达式的结果。第一次运行测试时,如果有任何失败的测试,我想让工作失败。在随后尝试重试失败的作业时,我不想让作业失败。
我已经设置了这样的任务(倒数第二行是我设置failTaskOnFailedTests 参数的位置):
- task: PublishTestResults@2
displayName: 'Publish Test Results'
inputs:
testResultsFormat: 'JUnit'
testResultsFiles: '*.xml'
searchFolder: '$(testsOutputPath)'
mergeTestResults: true
failTaskOnFailedTests: eq($(System.JobAttempt), 1)
testRunTitle: 'Test Results $(System.JobAttempt)'
当我在启用系统诊断的情况下运行管道时,我可以在日志中看到:
##[debug]testRunTitle=Test Results 1
##[debug]publishRunAttachments=true
##[debug]failTaskOnFailedTests=eq(1, 1)
##[debug]searchFolder=/home/vsts/work/1/s/TestProject/cypress/reports/junit
##[debug]testRunner: JUnit
##[debug]testResultsFiles: *.xml
##[debug]mergeResults: true
第三行显示failTaskOnFailedTests 被设置为表达式语句,而不是表达式的计算值。我对自己做错了什么感到茫然。该表达式似乎与Expressions documentation 中的其他表达式一致。
我错过了什么?
【问题讨论】:
标签: azure-devops azure-devops-pipelines