iOS單元測試-04-覆蓋率上傳sonarqube

[TOC]

覆蓋率報告

sonarqube需要的報告

  1. 隨便選擇一個項目,點擊進(jìn)去,選擇配置->設(shè)置

    image
  2. 找到 Swift (Backelite) 這個插件,這個插件及支持oc也支持swift,而且對oc語法停止了更新,對swift語法在持續(xù)更新中

    image
  3. 分析插件中默認(rèn)的報告格式 sonar-reports/coverage*.xml,需要根目錄下的這個路徑中的報告文件,文件名是以coverage開頭,文件類型是xml的一份報告

    image

XcodeCoverage工具

  1. 生成覆蓋率文件,使用cmd+U即可測試整個項目中的測試用例。但是這個覆蓋率只能在xcode上顯示,文件格式無法為我們使用,所以需要借助XcodeCoverage工具來解析結(jié)果成我們需要的報告文件

    image
  1. XcodeCoverage工具的使用在另一篇已經(jīng)講過了,這里不做累述

    image
  2. 執(zhí)行命令./getcov -s,在瀏覽器上以html的文件格式顯示覆蓋率報告

    image
  3. 在Finder中找到這個HTML文件,通過瀏覽器中的本地地址即可找到這個文件??梢钥闯鰜恚潜话谝粋€文件夾lcon中,而且是以HTML的格式展示,很明顯與我們想要的目標(biāo)格式不太一致

    image
  4. 執(zhí)行命令./getcov -x,執(zhí)行完成之后可以發(fā)現(xiàn)文件夾中多了個coverage.xml的文件,很明顯,這個文件就是我們上面的sonarqube報告中所需要的文件

    image
  5. 上傳coverage.xml文件,關(guān)于sonarqube的使用另一篇文檔有記錄,這里不做累述。執(zhí)行腳本sonar-scanner

    image
  6. 查看覆蓋率,登錄sonarqube的網(wǎng)站,便可查看這個項目的覆蓋率指標(biāo)

    image

    image

腳本改造

  1. XcodeCoverage工具生成的報告文件夾是相對于xcodeproj文件所在的根目錄文件,我們需要改造成相對于xcworkspace文件所在的根目錄下的文件路徑

  2. getcov腳本一次只接受一個參數(shù),如果要使用coverage.xml,操作麻煩,大致如下:

    1. 打開xcode,使用快捷鍵cmd+U來運行項目
    2. 打開終端,進(jìn)入XcodeCoverage文件夾,運行命令./getcov -s
    3. 打開Finder,通過上述瀏覽器中的路徑找到lcov文件夾
    4. 切換到終端,執(zhí)行命令./getcov -x,生成coverage.xml文件
    5. 拷貝coverage.xml文件到xcodeproj文件所在根目錄下的sonar-reports文件夾中
    6. 拷貝sonar-project.properties到根目錄下
    7. 執(zhí)行命令sonar-scanner
  3. 自動化腳本。上述的過程太過復(fù)雜,在真實使用的時候,需要通過自動化腳本構(gòu)建,這邊連帶 oclint 的分析,以及單元測試的整個腳本執(zhí)行都是自動化的過程。腳本暫時不考慮上傳。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容