我在Azure DevOps中有一个ASP.NET Core应用程序的构建管道,并且希望将其与批准请求的条件一起使用。
steps:
- script: dotnet restore
displayName: 'Run command: dotnet restore'
- script: >
dotnet test
/p:CollectCoverage=true
/p:CoverletOutputFormat=cobertura
/p:Threshold=80
/p:ThresholdStat=total
/p:Exclude="[*xunit.*]*"
displayName: 'Run command: dotnet test'
我想当代码覆盖率(使用Coverlet)没有通过时,构建失败。但是尽管没有达到接受标准,甚至生成了一条日志消息,该步骤仍成功运行。
coverlet.msbuild.targets(41,5):错误:总行覆盖率低于指定的80 Coverlet.msbuild.targets(41,5):错误:总分支覆盖率低于指定的80 Coverlet.msbuild .targets(41,5):错误:方法的总覆盖范围低于指定的80
在这种情况下是否可能导致失败?
答案 0 :(得分:0)
尝试使用DotNetCoreCLI@2
任务而不是简单的script
来运行测试:
- task: DotNetCoreCLI@2
displayName: 'dotnet test'
inputs:
commands: test
projects: 'path/to/tests/projects'
arguments: 'p:CollectCoverage=true
/p:CoverletOutputFormat=cobertura /p:Threshold=80
/p:ThresholdStat=total /p:Exclude="[*xunit.*]"'