1. 程式人生 > >DotNetCore + Sonar + Coverlet 程式碼覆蓋率檢查

DotNetCore + Sonar + Coverlet 程式碼覆蓋率檢查

一,下載 sonar-scanner-msbuild

我當前下載的最新版本是:sonar-scanner-msbuild-4.5.0.1761-netcoreapp2.0

https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+MSBuild

二,新建dotnetCore 專案 SonarDemo並建立SonarDemo.Tests Project

三,解壓sonar-scanner-msbuild-4.5.0.1761-netcoreapp2.0 至我們新建的dotnetCore專案

進入sonar-scanner-netcore 編輯 SonarQube.Analysis.xml 設定SonarQube 地址。

進入sonar-scanner-netcore\sonar-scanner-3.2.0.1227\conf 設定SonarQube 地址。

四,SonarDemo.Tests 專案新增coverlet.msbuild

 

五,編寫單元測試

    public class UnitTests
    {
        [Fact]
        public void Test1()
        {
            
var demoStr = new Demo(); var result= demoStr.stringFormat("test"); Assert.Equal("TEST", result); } }

 

六,建立SonarScanner.MSBuild.bat

dotnet test SonarDemo.Tests/SonarDemo.Tests.csproj /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude=\"
[xunit.runner.*]*,[SonarDemo.Tests]*\" dotnet sonar-scanner-netcore\SonarScanner.MSBuild.dll begin /k:SonarDemo /n:SonarDemo /v:1.0 /d:sonar.host.url=http://localhost:9000 /d:sonar.login=admin /d:sonar.password=admin /d:sonar.cs.opencover.reportsPaths=SonarDemo.Tests/coverage.opencover.xml /d:sonar.coverage.exclusions=[**Tests*.cs,coverage.opencover.xml] dotnet build dotnet sonar-scanner-netcore\SonarScanner.MSBuild.dll end /d:sonar.login=admin /d:sonar.password=admin

七,編譯通過後,雙擊SonarScanner.MSBuild.bat

 

demo下載