ExcludeFromCodeCoverageAttribute在azuredevops管道中不生效

时间:2020-02-17 10:01:49

标签: c# unit-testing azure-devops code-coverage

我在类方法中添加了[ExcludeFromCodeCoverage]以便获得适当的代码覆盖率。它在Visual Studio中效果很好,因此我可以获得正确的结果。 但是我们在azuredevops管道中使用了Visual Studio测试,它没有任何效果。包含此属性的方法将显示在Code Coverage结果中。 我还在管道中指定了CodeCoverage.runsettings文件,但不清楚它是否会影响结果。

steps:
- task: VSTest@2
  displayName: 'VsTest - Test Function App Project'
  inputs:
    runSettingsFile: src/DWP.CDA.FunctionApp/DWP.CDA.FunctionApp.Test/CodeCoverage.runsettings
    codeCoverageEnabled: true
    diagnosticsEnabled: true

1 个答案:

答案 0 :(得分:1)

不确定您的runsetting文件是什么样的。但就我而言,一切正常,并且成功排除了使用[ExcludeFromCodeCoverage]配置的类。

请尝试确保在运行设置文件中使用以下脚本:

 <Attributes>
   <Exclude>
     <Attribute>^System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute$</Attribute>
   </Exclude>
 </Attributes>

以下是我在非排除和排除之间的比较结果:

enter image description here