asp.net - Azure DevOps 构建管道 - 从代码覆盖范围中排除文件夹

标签 asp.net .net azure azure-devops continuous-integration

我试图从代码覆盖率分析中排除一个文件夹,但经过大量的试验和错误尝试和研究后,我没有取得任何成功。

这是我在构建管道中的测试任务:

- task: DotNetCoreCLI@2
  displayName: 'Running Unit Tests'
  inputs:
    command: test
    projects: '$(unitTestsProject)'
    arguments: '--configuration $(buildConfiguration) --settings ./cover.runsettings'
    publishTestResults: true
  continueOnError: false

在运行设置中我尝试了不同的方法,其中一些如下:*

<DataCollector friendlyName="XPlat code coverage">
    <Configuration>
        <CodeCoverage>
            <ModulePaths>
                <Exclude>
                    <ModulePath>.*Migrations.*</ModulePath>
                    <ModulePath>.*\\Migrations\\.*</ModulePath>
                </Exclude>
            </ModulePaths>
        </CodeCoverage>
    </Configuration>
</DataCollector>
<DataCollector friendlyName="XPlat code coverage">
    <Configuration>
        <CodeCoverage>
                        <ExcludeDirectories>
                <Directory>.*\\Migrations\\.*</Directory>
            </ExcludeDirectories>
        </CodeCoverage>
    </Configuration>
</DataCollector>

以上所有变体均无效。但是,当我在不想包含在代码覆盖率中的每个类上使用属性 [ExcludeFromCodeCoverage] 时,它效果很好。我需要它从 runsettings 文件中工作,因为迁移文件夹会快速增长,并且继续遍历生成的类并添加属性是不切实际的。

任何帮助或指导将不胜感激。谢谢

最佳答案

根据此文档 Customize code coverage analysis ,您可以测试用下面的代码定义您的代码。

        <!-- Match the path of the source files in which each method is defined: -->
        <Sources>
          <Exclude>
            <Source>.*\\atlmfc\\.*</Source>
            <Source>.*\\vctools\\.*</Source>
            <Source>.*\\public\\sdk\\.*</Source>
            <Source>.*\\microsoft sdks\\.*</Source>
            <Source>.*\\vc\\include\\.*</Source>
          </Exclude>
        </Sources>

关于asp.net - Azure DevOps 构建管道 - 从代码覆盖范围中排除文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74849106/

相关文章:

.net - DllImport 和 ASP.NET

html - 背景图片在浏览器中不可见

c# - 如何将图像放在 ToolStripMenuItem(或类似控件)的文本旁边?

c# - 从 Vista 上的 NT 服务运行时,从 Excel COM 对象访问文件失败

Azure DocumentDB 和 Spring Boot 冲突

azure - .NET Core Web Api 错误 -4090 EADDRNOTAVAIL 地址在 Azure 上不可用

azure - U-SQL - 执行相关查询

ASP.NET 中间件不再保留文化

c# - Visual Studio 2010 设计器文件未更新

.net - 如何从服务调用主 UI 线程