Anduin Xue
Anduin Xue

Anduin's Tech Blog

Code coverage


Show .NET code coverage rate and unit test status with GitLab CI\CD pipeline

本文详细介绍了如何使用GitLab CI/CD管道来展示.NET项目的代码覆盖率和单元测试状态。首先,需要确保在你的GitLab实例中有一个.NET项目。然后,在所有单元测试项目中添加coverlet.collector和JunitXml.TestLogger这两个包。接下来,编写C#代码的单元测试,并创建一个包含构建、测试和发布阶段的.gitlab-ci.yml文件。 在构建阶段,使用dotnet build命令进行编译。在测试阶段,使用dotnet test命令进行测试,并收集代码覆盖率信息。同时,使用reportgenerator生成cobertura格式的报告,并从中提取覆盖率数据。最后,在发布阶段,使用dotnet publish命令进行发布,并将生成的nupkg文件保存为构建产物。 通过这样的配置,你可以在GitLab管道运行结束后查看单元测试结果和代码覆盖率数据。此外,在创建pull request时,还可以看到覆盖率信息。最后,别忘了在Readme.md文件中添加一个代码覆盖率徽章! 本文为你提供了一个完整的示例,帮助你更好地理解如何在GitLab CI/CD管道中展示.NET项目的代码覆盖率和单元测试状态。那么,在你的项目中,如何利用这些技巧来提高代码质量和测试覆盖率呢?--GPT 4

.NET Test Code coverage Continuous Integration GitLab junit YAML

Display code coverage information for .NET Core project using Azure DevOps.

本文介绍了如何在.NET Core项目中使用Azure DevOps显示代码覆盖率信息。首先,需要在Azure DevOps中创建一个构建管道。对于使用经典设计器的用户,需要添加一个新的.NET Core命令行步骤,并确保发布测试结果。在参数输入中,插入:--configuration $(buildConfiguration) --collect "Code coverage"。对于使用YAML的用户,添加任务:DotNetCoreCLI@2,并使用相应的输入参数。 请注意,始终使用Windows平台运行构建,不要在Linux上运行,因为代码覆盖率生成器尚不支持Linux。保存并运行管道后,可以在构建完成时查看代码覆盖率和测试结果。在本文的示例中,代码覆盖率为87%。 要获取徽章URL,首先复制URL中的以下部分。复制URL的三个部分,如示例中的A、B和C。然后复制以下markdown文本:![Azure DevOps coverage](https://img.shields.io/azure-devops/coverage/{{A}}/{{B}}/{{C}})。将A、B和C更改为复制的值,如:![Azure DevOps coverage](https://img.shields.io/azure-devops/coverage/aiursoft/Star/5)。将其保存在readme.md中。 完成上述步骤后,即可在.NET Core项目中显示代码覆盖率信息。这样的功能对于开发者来说,无疑是一个很好的辅助工具,可以更好地了解代码的覆盖情况,提高代码质量。那么,如何更好地提高代码覆盖率呢?这将是一个值得思考的问题。--GPT 4

.NET Core Azure DevOps .NET Test MSTest Integration Test Code coverage GitHub

  • 1