DotNet Code Coverage Report integrate With SonarQube & Jenkins
RojerChen.2021.04.15
如果使用的 Visual Studio 不是 Enterprise 的版本,是沒有辦法看到 Code Coverage 的報告,不過我們還是可以透過 dotnet test、reportgenerator 來了解。如果想要把相關的結果整合到 SonarQube或是 Jenkins 可以這樣子處理:
- 產生 opencover 測試報告
首先還是透過 dotnet test 來產生報告
dotnet test /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:CoverletOutput=../TestReport/ ../../ - SonarQube 整合
執行 dotnet SonarQube.dll begin 的時候,要加入以下參數,輸入 xml 報告檔案位置,這樣整個執行完畢後,就可以將結果顯示在 SonarQube 上。
/d:sonar.cs.opencover.reportsPaths=path/coverage.opencover.xml - Jenkins
首先,Jenkins 要安裝 opencover plugin
安裝完畢後,就可以使用 publishCoverage 來載入 coverage.opencover.xml 檔案,這樣執行 Job 的時候,就可以看到該次的測試結果了。
※延伸閱讀