Anduin Xue
Anduin Xue

Anduin's Tech Blog

MSTest


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

ASP.NET Core Integration Test using MSTest

在官方文档中,仅有一个使用xunit进行ASP.NET Core集成测试的示例。但如果你不喜欢xunit呢?我们能否用MSTest替换它?答案是可以的。 首先,卸载xunit并安装MSTest。清理项目结构,然后为测试项目安装MSTest。接下来,在测试项目中启动服务器。在测试项目下创建一个名为`BasicTests.cs`的新类。将以下代码放入基本测试中,当测试开始时,它将自动启动一个新的ASP.NET Core Web服务器,并使用来自主Web项目的Startup。 接下来,添加一个简单的测试。在测试类中插入一个新功能。在这个新测试中,你将请求测试服务器并检查结果。现在你可以运行测试了!在Visual Studio中,或者在解决方案文件夹下执行`dotnet test`。 最后,考虑测试清理。在测试之后,你应该停止服务器以防止影响其他测试。只需停止并释放服务器即可完成工作。 本文讨论了如何使用MSTest替换xunit进行ASP.NET Core集成测试,并提供了详细的步骤。那么,使用MSTest进行集成测试是否能带来更好的测试效果?在实际应用中,MSTest和xunit之间的性能差异如何?这些问题留给读者自己探索和找到答案。--GPT 4

ASP.NET Core C# .NET Core Test MSTest Functional Test Integration Test

  • 1