基於dotnetcore 3.1項目配置sonar

1. 配置sonar

使用jenkins插件 SonarScanner for MSBuild - Begin Analysis

/d:sonar.language=cs
/d:sonar.sourceEncoding=UTF-8
/d:sonar.cs.opencover.reportsPaths=Coverage.xml
/d:sonar.branch.name=${BRANCH}

2. 使用opencover生成報告的xml文件

  第一種方式


"D:\Program Files (x86)\OpenCover\OpenCover.Console.exe" -oldStyle -skipautoprops -register:user -output:"Coverage.xml" -target:"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" -targetargs:"Xyz/Tests/XyzTest/bin/Debug/netcoreapp3.1/XyzTest.dll"

 

第二種方式


"D:\Program Files (x86)\OpenCover\OpenCover.Console.exe" -target:"c:\Program Files\dotnet\dotnet.exe" -targetargs:"test" -output:coverage.xml -oldStyle -register:user

3. 在使用opencover生成報告時候報錯

4. 解決辦法

在單元測試的工程文件中添加 <DebugType>full</DebugType>

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <DebugType>full</DebugType>
    <IsPackable>false</IsPackable>
  </PropertyGroup>

7. 使用opencover4.7版本不需要設置 <DebugType>full</DebugType>

6. 參考資料

https://automationrhapsody.com/code-coverage-net-core-unit-tests-opencover/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章