前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用 coverlet 查看.NET Core应用的测试覆盖率

使用 coverlet 查看.NET Core应用的测试覆盖率

作者头像
solenovex
发布2018-08-01 10:46:48
9510
发布2018-08-01 10:46:48
举报
文章被收录于专栏:草根专栏草根专栏

代码覆盖(Code coverage)是软件测试中的一种度量,描述程式中源代码被测试的比例和程度,所得比例称为代码覆盖率。

Visual Studio 2017的企业版可以直接查看测试的代码覆盖率, 而由于我只能用得起Visual Studio Community和VS Code所以不得不寻找其它的免费办法来查看测试覆盖率.

coverlet

我找到了 coverlethttps://github.com/tonerdo/coverlet, 它是一个针对.NET Core的跨平台代码覆盖率的库

coverlet目前支持两种方式操作:

  1. 作为全局工具使用命令:  dotnet tool install --global coverlet.console  安装后, 就可以使用coverlet命令了, 查看帮助: coverlet --help, 这种我就不介绍了, 可以查看官方文档.
  2. 在测试项目通过Nuget或dotnet cli添加该库: dotnet add package coverlet.msbuild. 这种方式下, 当它被启用后, 它会集成到dotnet test 这个命令架构里, 在测试运行后自动生成覆盖率报告.

启用coverlet

很简单, 在测试项目下执行测试命令, 并加上后边的启用参数即可: dotnet test /p:CollectCoverage=true .

默认报告的格式是json.

报告格式

coverlet还支持其它几种格式, 可以通过CoverletOutputFormat参数指定.

目前支持这几种格式:

  • json (default)
  • lcov
  • opencover
  • cobertura

例如想要改用opencover格式: 那么: dotnet test /p:CollectCoverage=true /p:CoverletOutputFormat=opencover 这样写即可.

其生成的报告文件默认名是:

其它参数

coverlet还有一些其它参数, 使用都很简单, 请查看官方文档吧: https://github.com/tonerdo/coverlet#msbuild

查看报告

coverlet可以生成报告, 但是都是那些json, xml等数据格式, 通过命令行窗口也只能看见总览的数据. 想要查看用户能看明白的详细报告需要使用一些工具, 例如ReportGenerator或SonarCloud.

ReportGenerator

ReportGenerator在本地就可以使用, 它支持opencover格式等, 在测试项目安装: dotnet add package ReportGenerator --version 4.0.0-alpha12

安装后按照说明操作即可: 

在我电脑上我使用的命令如下: dotnet C:\Users\solen\.nuget\packages\reportgenerator\4.0.0-alpha12\tools\netcoreapp2.0\ReportGenerator.dll -reports:.\coverage.opencover.xml -targetdir:F:\Reports

然后到输出目录, 打开index.htm即可:

里面还可以点击进行一些操作:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-07-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • coverlet
    • 启用coverlet
      • 报告格式
        • 其它参数
        • 查看报告
          • ReportGenerator
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档