<ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>


      系列目錄 <https://www.cnblogs.com/tylerzhou/p/11204826.html>

      通過前面章節(jié)我們可以看到,不論怎么構(gòu)建,單元測試覆蓋率一欄總是0%



      這是因?yàn)閱卧獪y試覆蓋率報(bào)告需要額外集成.這一節(jié)我們就講解如何在sonarqube里集成單元測試覆蓋率報(bào)告.

      這里需要借助Opencover來生成單元測試覆蓋報(bào)告文檔,Opencover前面章節(jié)我們介紹過,不了解的朋友可以查看一下前面相關(guān)部分的章節(jié).


      我在本地有一個包含單元測試項(xiàng)目(大家可以自己建一個包含單元測試的項(xiàng)目,關(guān)于單元測試前面章節(jié)也有詳細(xì)講解,這里不再贅述).進(jìn)入包含項(xiàng)目sln或者csproj的文件,執(zhí)行以下命令.
      MSBuild.SonarQube.Runner.exe begin /k:"mytest" /n:"mytest" /v:"v1.0"
      /d:sonar.cs.opencover.reportsPaths="%CD%\testcover.xml" msbuild.exe
      "E:\personalproject\newTest2018\ConsoleApp1\packages\OpenCover.4.6.519\tools\OpenCover.Console.exe"
      -output:"%CD%\testcover.xml" -register:user -target:"C:\Program Files
      (x86)\Microsoft Visual
      Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe"
      -targetargs:"%CD%\bin\Debug\NunitTest.dll" MSBuild.SonarQube.Runner.exe end
      Begin 和end是固定格式,這里begin部分多了一個/d選項(xiàng),/d為dynamic properties 動態(tài)屬性.通過動態(tài)屬性指定單元測試報(bào)告的位置.
      %CD%即為當(dāng)前目錄

      第二段 msbuild.exe執(zhí)行構(gòu)建.
      第三段 這里是生成單元測試覆蓋率報(bào)告的關(guān)鍵. 首先指定Opencover所在位置,-register user
      為注冊當(dāng)前windows用戶以使其有權(quán)限執(zhí)行.-output 指定覆蓋率文件輸出位置,這里必須和上面的
      sonar.cs.opencover.reportsPaths保持一致. -target為要指定的單元測試runner,這里使用的是visual
      studio自帶的vstest.console.exe targetargs指定要進(jìn)行單元測試的目標(biāo)dll.

      執(zhí)行完成以后,我們再打開sonarqube web管理界面就會看到剛剛生成的mytest項(xiàng)目



      通過上圖我們可以看到mytest項(xiàng)目的單元測試覆蓋率為56.7%

      我們進(jìn)入mytest這個項(xiàng)目,然后點(diǎn)擊單元測試覆蓋率數(shù)字下面的鏈接



      點(diǎn)擊后進(jìn)入以下頁面:



      通過這個界面,我們可以看到每一個類的的單元測試覆蓋率和未覆蓋的行數(shù).我們點(diǎn)擊類名,便可以進(jìn)入具體的類.



      這個圖中,藍(lán)杠部分為單元測試覆蓋到的代碼,紅框部分則為未覆蓋到的代碼.

      代碼大視窗顯示.


      對于管理員來說,可能僅僅需要大致瀏覽一下代碼,然后告知具體開發(fā)者需要修改.對于開發(fā)者來說,可能需要詳細(xì)查看代碼.以上截圖只截了主視窗,實(shí)際上左側(cè)還有固定的導(dǎo)航欄.這樣對于查看代碼可能不是很友好,詳細(xì)查看代碼的時(shí)候我們可能想在更大的視窗里查看.這時(shí)候我們可以點(diǎn)擊右上角的"四杠圖標(biāo)"



      選擇open in new window便可以在新窗口中打開代碼.此時(shí)整個區(qū)域都是代碼,無關(guān)的內(nèi)容都沒了



      以上代碼雖然在一個單獨(dú)的視窗里顯示,但是仍然有藍(lán)杠和紅杠標(biāo)識,有些童鞋可能感覺不是很舒服,想要看到清潔代碼,此時(shí)點(diǎn)擊四框圖標(biāo)選擇Show raw source
      即可顯示原始代碼.

      友情鏈接
      ioDraw流程圖
      API參考文檔
      OK工具箱
      云服務(wù)器優(yōu)惠
      阿里云優(yōu)惠券
      騰訊云優(yōu)惠券
      京東云優(yōu)惠券
      站點(diǎn)信息
      問題反饋
      郵箱:[email protected]
      QQ群:637538335
      關(guān)注微信

        <ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>
          国产xxxxwwww | 精品国产 可站11 | 人人操人人摸人人干 | 无码成人做爱 | 日韩黄色视屏 | 欧美日韩日逼 | 我就色综合网 | 亚洲午夜精品久久久久久久久久久久 | 啊轻一点太深了新婚之夜 | 嗯啊放荡女np高h粗绿帽 |