代碼覆蓋(Code coverage)是軟件測試中的一種度量,描述程式中源代碼被測試的比例和程度,所得比例稱爲代碼覆蓋率。java
Visual Studio 2017的企業版能夠直接查看測試的代碼覆蓋率, 而因爲我只能用得起Visual Studio Community和VS Code因此不得不尋找其它的免費辦法來查看測試覆蓋率.git
我找到了 coverlet: https://github.com/tonerdo/coverlet, 它是一個針對.NET Core的跨平臺代碼覆蓋率的庫github
coverlet目前支持兩種方式操做:json
安裝後, 就能夠使用coverlet命令了, 查看幫助: coverlet --help, 這種我就不介紹了, 能夠查看官方文檔.架構
很簡單, 在測試項目下執行測試命令, 並加上後邊的啓用參數便可: dotnet test /p:CollectCoverage=true .app
默認報告的格式是json.工具
coverlet還支持其它幾種格式, 能夠經過CoverletOutputFormat參數指定.測試
目前支持這幾種格式:ui
例如想要改用opencover格式: 那麼: dotnet test /p:CollectCoverage=true /p:CoverletOutputFormat=opencover 這樣寫便可.spa
其生成的報告文件默認名是:
coverlet還有一些其它參數, 使用都很簡單, 請查看官方文檔吧: https://github.com/tonerdo/coverlet#msbuild
coverlet能夠生成報告, 可是都是那些json, xml等數據格式, 經過命令行窗口也只能看見總覽的數據. 想要查看用戶能看明白的詳細報告須要使用一些工具, 例如ReportGenerator或SonarCloud.
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便可:
裏面還能夠點擊進行一些操做:
它是一個雲服務, 可是須要安裝java環境, 我嫌麻煩就不介紹了. 可自行到官網瞭解: https://sonarcloud.io/
這個簡介寫完了...............