Álv*_*cía 67 unit-testing visual-studio-2015
我正在使用Visual Studio 2015社区版,我知道它可以选择创建单元测试来测试代码,但我没有看到测试代码覆盖率的选项,所以我想知道Visual Studio是否有此选项或如果我必须使用第三方插件.
如果我必须使用第三方解决方案,那会是一个不错的选择吗?
Ton*_*zel 68
只有Visual Studio 2015 Enterprise内置了代码覆盖率.有关详细信息,请参阅功能矩阵
您可以使用OpenCover.UI扩展来在Visual Studio中进行代码覆盖率检查.它支持MSTest,nUnit和xUnit.
Gor*_*ean 42
如果您使用的是Visual Studio 2017并遇到此问题,则可以考虑使用AxoCover.它是一个免费的VS扩展,集成了OpenCover,但支持VS2017(它似乎也在积极开发中.+ 1).
https://github.com/axodox/AxoTools
Ale*_*xei 30
Toni
答案非常有用,但我认为初学者可以快速开始测试覆盖率评估(就像我一样).
如前所述,Visual Studio Professional和Community Edition没有内置的测试覆盖支持.但是,它很容易获得.我将编写逐步配置,以便与Visual Studion 2015 Professional中的NUnit测试一起使用.
使用NuGet接口安装OpenCover NUGet组件
获取OpenCoverUI扩展.可以使用"工具" - >"扩展和更新"直接从Visual Studio安装
通过访问工具 - >选项 - > OpenCover.UI选项 - >常规,配置OpenCoverUI以使用适当的可执行文件
NUnit路径:必须指向`nunit-console.exe文件.这只能在NUnit 2.xx版本中找到,可以从这里下载.
OpenCover Path:通常应该指向已安装的软件包<solution path>\packages\OpenCover.4.6.519\tools\OpenCover.Console.exe
安装ReportGenerator NUGet包
OpenCover Test Explorer
从OpenCover菜单访问.尝试从那里发现测试.如果失败,请检查输出窗口以获取更多详细信息.
检查OpenCover结果(在OpenCover菜单中)以获取更多详细信息.它将在基于树的视图中输出代码覆盖率等详细信息.您还可以突出显示或未覆盖的代码(左上角的小图标).
注意:如上所述,OpenCoverUI不支持NUnit(3.xx)的最新主要版本.但是,如果在测试中没有使用此版本的任何特定内容,则无论是否安装了NUnit 3.xx版本,它都可以正常工作.
这涵盖了快速入门.正如评论中已经提到的,对于更高级的配置和自动化,请查看本文.
小智 10
对于在 Visual Studio Community 2019 中寻找简单解决方案的任何人来说,Fine Code Coverage很简单,但效果很好。
它无法给出精确覆盖范围的准确数字,但它会告诉哪些线被绿色/红色排水沟覆盖。
正如已经提到的,您可以使用Fine Code Coverage来可视化Coverlet 输出。如果您创建xunit test project
( dotnet new xunit
),您会发现文件中已存在 Coverlet 参考,csproj
因为Coverlet
它是每个 .NET Core 和 >= .NET 5 应用程序的默认覆盖工具。
Microsoft 有一个使用ReportGenerator的示例,该示例将 coverlet、OpenCover、dotCover、Visual Studio、NCover、Cobertura、JaCoCo、Clover、gcov 或 lcov 生成的覆盖率报告转换为各种格式的人类可读报告。
报告示例:
虽然本文重点介绍 C# 和 xUnit 作为测试框架,但 MSTest 和 NUnit 也都可以使用。
指导:
如果您希望 .xml 文件中的代码覆盖率,您可以运行以下任意命令:
dotnet test --collect:"XPlat Code Coverage"
dotnet test /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
79345 次 |
最近记录: |