1. 程式人生 > >使用 coverlet 檢視.NET Core應用的測試覆蓋率

使用 coverlet 檢視.NET Core應用的測試覆蓋率

程式碼覆蓋(Code coverage)是軟體測試中的一種度量,描述程式中原始碼被測試的比例和程度,所得比例稱為程式碼覆蓋率。

Visual Studio 2017的企業版可以直接檢視測試的程式碼覆蓋率, 而由於我只能用得起Visual Studio Community和VS Code所以不得不尋找其它的免費辦法來檢視測試覆蓋率.

coverlet

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可以生成報告, 但是都是那些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即可:

裡面還可以點選進行一些操作:

SonarCloud

它是一個雲服務, 但是需要安裝java環境, 我嫌麻煩就不介紹了. 可自行到官網瞭解: https://sonarcloud.io/

這個簡介寫完了...............

相關推薦

使用 coverlet 檢視.NET Core應用測試覆蓋率

程式碼覆蓋(Code coverage)是軟體測試中的一種度量,描述程式中原始碼被測試的比例和程度,所得比例稱為程式碼覆蓋率。 Visual Studio 2017的企業版可以直接檢視測試的程式碼覆蓋率, 而由於我只能用得起Visual Studio Community和VS Code所以不得不尋找其它的免

使用 coverlet 查看.NET Core應用測試覆蓋率

針對 我只 dir rdo col 使用命令 str nbsp dex Visual Studio 2017的企業版可以直接查看測試的代碼覆蓋率, 而由於我只能用得起Visual Studio Community和VS Code所以不得不尋找其它的辦法來查看測試覆蓋率.

.NET Core單元測試之搞死開發的覆蓋率統計(coverlet + ReportGenerator )

.... 更新 and enc team port ide git 微軟 .NET Core單元測試之搞死開發的覆蓋率統計 這兩天在給項目補單元測試,dalao們要求要看一下測試覆蓋率 翻了一波官方test命令覆蓋率倒是有支持了,然而某個更新日誌裏面寫著 【“Suppor

使用 Moq 測試.NET Core 應用 -- Mock 行為

src 進行 alt 狀態 執行 ref tro 調用次數 eal 第一篇文章, 關於Mock的概念介紹: https://www.cnblogs.com/cgzl/p/9294431.html 第二篇文章, 關於方法Mock的介紹: https://www.cnb

使用 Moq 測試.NET Core 應用 -- 其它

表達 連續 span empty ups 通過 check lin 事件綁定 第一篇文章, 關於Mock的概念介紹: https://www.cnblogs.com/cgzl/p/9294431.html 第二篇文章, 關於方法Mock的介紹: https://www.c

ASP.NET Core應用中如何記錄和檢視日誌

日誌記錄不僅對於我們開發的應用,還是對於ASP.NET Core框架功能都是一項非常重要的功能特性。我們知道ASP.NET Core使用的是一個極具擴充套件性的日誌系統,該系統由Logger、LoggerFactory和LoggerProvider這三個核心物件組成。我們可以通過簡單的配置實現對LoggerF

使用 Moq 測試.NET Core 應用

 什麼是Mock 當對程式碼進行測試的時候, 我們經常需要用到一些模擬(mock)技術. 綠色的是需要被測試的類, 黃色是它的依賴項, 灰色的無關的類 在一個專案裡, 我們經常需要把某一部分程式獨立出來以便我們可以對這部分進行測試. 這就要求我們不要考慮專案其餘部分的複雜性, 我們只想關注需要被

使用 Moq 測試.NET Core 應用 -- Mock 方法

本文介紹使用Moq來Mock方法. Mock 物件 緊接著上文中的例子. 上一篇文章, 我在單元測試的時候, 把依賴項設為null: 然後便出現了NullReferenceException, 導致測試無法正常執行. 首先應該做的是在TransferApproval的建構函式裡判斷引數是否

使用 Moq 測試.NET Core 應用 -- Mock 屬性

本文介紹Moq的使用. Mock屬性 屬性是指 get set property. 接著上文, 我在03 Before部分的程式碼裡做了一些修改. 首先IPhysicalExamination介面添加了IsMedicalRoomAvailable屬性: 其實現類: 屬性方法內依

Linux使用Jexus托管Asp.Net Core應用程序

技術 文件目錄 只需要 true 沒有 repr tag 博文 env 第一步 安裝.Net Core環境 安裝 dotnet 環境參見官方網站 https://www.microsoft.com/net/core。 選擇對應的系統版本進行安裝。安裝完成過後 輸入命令查

在 Azure WebApps 中運行64位 Asp.net Core 應用

需求 正常 mmu www. module .config 正在 external doc 作為微軟下一代的開源的跨平臺的開發框架, Asp.net core 正在吸引越來越多的開發者基於其構建現代 web 應用。 目前, Azure App Service 也實現了對 a

Centos7環境下使用Nginx托管.Net Core應用程序

erro else hid dev 直接 update 谷歌瀏覽器 rod ins 一、安裝.Net Core 參考官方文檔:https://www.microsoft.com/net/core#linuxcentos 1、添加dotnet產品Feed 在安裝.NET C

運行Vue在ASP.NET Core應用程序並部署在IIS上

生產環境 所在 來講 一個 重寫 文章 .net core 設置 分享 前言 從.NET Core 1.0開始我們就將其應用到項目中,但是呢我對ASP.NET Core一些原理也還未開始研究,僅限於會用,不過園子中已有大量文章存在,借著有點空余時間,我們來講講如何利用AS

教你如何實現微信小程序與.net core應用服務端的無狀態身份驗證

做的 動圖 ef7 服務端 apt 是我 分布 .net service 隨著.net core2的發布,越來越多人使用.net core2開發各種應用服務端,下面我就結合自己最近開發的一款小程序,給大家分享下,怎麽使用小程序登錄後,小程序與服務端交互的權限控制。

將ASP.NET Core應用程序部署至生產環境中(CentOS7)

for linux home web 虛擬 direct director block bic 閱讀目錄 環境說明 準備你的ASP.NET Core應用程序 安裝CentOS7 安裝.NET Core SDK for CentOS7。 部署ASP.NET

使用Docker部署ASP.NET Core應用程序實踐

4.0 cor run .com cnblogs pda word 本地配置 問題 前言 最近把很火的Docker給看了,於是就磨拳擦掌要去實踐一下。於是就拿之前一個aps.net core的項目(已被停止)去練手。該項目之前在ubuntu14.04上確保可以正常運行,所以

在 Docker 中部署 ASP.NET CORE 應用

post netcore 工作 ros core 指定 們的 本地 body 有了 Docker 之後, 部署起來卻這間非常方便,環境不用搭了, 直接創建一個 microsoft/aspnetcore 的容器, 在本地開發好後, 把內容直接部署到容器中。 下面的命令是把本

新建.Net Core應用程序後引用項一直黃色感嘆號怎麽辦?

右鍵 blog 消失 成功 黃色感嘆號 生成 重新 創建 正常 我們在vs中創建.Net Core應用程序後,引用項可能出現黃色感嘆號,正常情況下,這種黃色感嘆號時能在項目創建成功之後迅速消失的,可也有些時候一直不消失,怎麽辦? 我們可以選中異常的項目,然後右鍵菜單,選擇

NET Core應用框架之BitAdminCore框架應用篇系列

net EDA clas IE span targe slist target nco BitAdminCore是基於NET Core2.0的後端快速開發框架,本篇主要目標是介紹如何使用框架開發應用。框架的一些特性等。 系列鏈接 BitAdminCore框架應用

.net core 應用程序部署到win10子系統中

cnblogs nsh targe aps win10 http spl document first 聲明:本人是個小白,博文中的知識都是我從網上歸類總結而來,主要是記錄一下我的學習歷程;如果各位網友有什麽更好的參考資料歡迎推薦。 最近在學習【騰飛(Jesse)】 大神