DotNet Code Coverage Report integrate With SonarQube & Jenkins

 RojerChen.2021.04.15

如果使用的 Visual Studio 不是 Enterprise 的版本,是沒有辦法看到 Code Coverage 的報告,不過我們還是可以透過 dotnet test、reportgenerator 來了解。如果想要把相關的結果整合到 SonarQube或是 Jenkins 可以這樣子處理:

  1. 產生 opencover 測試報告

    首先還是透過 dotnet test 來產生報告

    dotnet test /p:CollectCoverage=true /p:CoverletOutputFormat=opencover   /p:CoverletOutput=../TestReport/ ../../

  2. SonarQube 整合

    執行 dotnet SonarQube.dll begin 的時候,要加入以下參數,輸入 xml 報告檔案位置,這樣整個執行完畢後,就可以將結果顯示在 SonarQube 上。

    /d:sonar.cs.opencover.reportsPaths=path/coverage.opencover.xml

  3. Jenkins

    首先,Jenkins 要安裝 opencover plugin

    安裝完畢後,就可以使用 publishCoverage 來載入 coverage.opencover.xml 檔案,這樣執行 Job 的時候,就可以看到該次的測試結果了。

※延伸閱讀

    Blogger Comment

0 意見: