iOS-SonarQue——使用slather生成覆蓋率報告

傳送門

Demo源碼:https://gitee.com/hcsaaron/cssonar-demo

《iOS-SonarQue——安裝及使用》

《iOS-SonarQue——展示OCLint分析結(jié)果》

當(dāng)前文章:《iOS-SonarQue——使用slather生成覆蓋率報告》

系統(tǒng)環(huán)境

Mac OS 10.15.6

前言

《iOS-SonarQue——展示OCLint分析結(jié)果》中已經(jīng)成功在SonarQube后臺展示出OCLint的分析報告了,但是覆蓋率依然沒任何體現(xiàn)。

接下來我們就要用slather生成覆蓋率報告。

關(guān)于slather

請看源碼介紹:https://github.com/SlatherOrg/slather

安裝slather(用于生成覆蓋率報告)

sudo gem install slather

如果安裝報錯,需要更新ruby,請移步《Mac更新ruby版本》

用上面命令安裝完后喷兼,會出現(xiàn)-bash: slather: command not found,搞了很久都不知道為什么喘蟆。最后用下面方式安裝完后就可以使用slather命令了:

sudo gem install -n /usr/local/bin slather

更新腳本

編輯run-sonar.sh腳本,在/bin/sh sonar-scanner -X前面增加單測編譯鼓鲁、生成覆蓋率報告的shell代碼

# 運行單元測試
xcodebuild -workspace ${PROJECT_NAME} -scheme ${TEST_TARGET_NAME} -configuration Debug -enableCodeCoverage YES -destination 'platform=iOS Simulator,name=iPhone 8' test
# 生成單測覆蓋率報告
slather coverage -x --output-directory sonar-reports --scheme ${TARGET_NAME} --workspace ${PROJECT_NAME} CSSonarDemo.xcodeproj

# 重命名覆蓋率報告(sonar-swift插件默認(rèn)指定路徑為`sonar-reports/coverage*.xml`)
mv sonar-reports/cobertura.xml sonar-reports/coverage.xml

由于slather coverage只能指定輸出文件夾蕴轨,默認(rèn)文件名是cobertura.xml,而SonarQube的sonar-swift插件的覆蓋率報告路徑指定默認(rèn)為sonar-reports/coverage*.xml骇吭,因此將其進行重命橙弱。
如果不想進行重命名操作,也可以修改SonarQube后臺指定的路徑及文件命名燥狰。

最終完整腳本為:

PROJECT_NAME="CSSonarDemo.xcworkspace"
TARGET_NAME="CSSonarDemo"

TEST_TARGET_NAME="CSSonarDemoTests"
UITEST_TARGET_NAME="CSSonarDemoUITests"

rm -rf sonar-reports

mkdir sonar-reports

rm -rf ./build/derivedData

xcodebuild clean -UseModernBuildSystem=NO

xcodebuild -workspace ${PROJECT_NAME} -scheme ${TARGET_NAME} -UseModernBuildSystem=NO -derivedDataPath ./build/derivedData -configuration Debug COMPILER_INDEX_STORE_ENABLE=NO | xcpretty -r json-compilation-database -o compile_commands.json

# 生成OCLint分析報告
oclint-json-compilation-database -e Pods -- -report-type html -o oclintReport.html
oclint-json-compilation-database -e Pods -- -report-type pmd -o sonar-reports/oclint.xml \
-max-priority-1=9999 \
-max-priority-2=9999 \
-max-priority-3=9999 \

# 運行單元測試
xcodebuild -workspace ${PROJECT_NAME} -scheme ${TEST_TARGET_NAME} -configuration Debug -enableCodeCoverage YES -destination 'platform=iOS Simulator,name=iPhone 8' test
# 生成單測覆蓋率報告
slather coverage -x --output-directory sonar-reports --scheme ${TARGET_NAME} --workspace ${PROJECT_NAME} CSSonarDemo.xcodeproj

# 重命名覆蓋率報告(sonar-swift插件默認(rèn)指定路徑為`sonar-reports/coverage*.xml`)
mv sonar-reports/cobertura.xml sonar-reports/coverage.xml

# Sonar掃描
/bin/sh sonar-scanner -X

在工程目錄中再次執(zhí)行以下命令:

sh run-sonar.sh

執(zhí)行完成后棘脐,來看SonarQube后臺,可以看到首頁中的項目除了有15個異味龙致,還呈現(xiàn)出覆蓋率蛀缝。進入具體項目,點擊覆蓋率目代,可以查看到具體覆蓋情況屈梁。

SonarQube首頁
覆蓋率情況

參考資料

slather源碼:https://github.com/SlatherOrg/slather

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市榛了,隨后出現(xiàn)的幾起案子在讶,更是在濱河造成了極大的恐慌,老刑警劉巖霜大,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件构哺,死亡現(xiàn)場離奇詭異,居然都是意外死亡战坤,警方通過查閱死者的電腦和手機遮婶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來湖笨,“玉大人,你說我怎么就攤上這事蹦骑〈仁。” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長边败。 經(jīng)常有香客問我袱衷,道長,這世上最難降的妖魔是什么笑窜? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任致燥,我火速辦了婚禮,結(jié)果婚禮上排截,老公的妹妹穿的比我還像新娘嫌蚤。我一直安慰自己,他們只是感情好断傲,可當(dāng)我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布脱吱。 她就那樣靜靜地躺著,像睡著了一般认罩。 火紅的嫁衣襯著肌膚如雪箱蝠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天垦垂,我揣著相機與錄音宦搬,去河邊找鬼。 笑死劫拗,一個胖子當(dāng)著我的面吹牛间校,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播杨幼,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼撇簿,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了差购?” 一聲冷哼從身側(cè)響起四瘫,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎欲逃,沒想到半個月后找蜜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡稳析,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年洗做,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片彰居。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡诚纸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出陈惰,到底是詐尸還是另有隱情畦徘,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站井辆,受9級特大地震影響关筒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜杯缺,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一蒸播、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧萍肆,春花似錦袍榆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至勿负,卻和暖如春馏艾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背奴愉。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工琅摩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人锭硼。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓房资,卻偏偏與公主長得像,于是被迫代替她去往敵國和親檀头。 傳聞我的和親對象是個殘疾皇子轰异,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 夜鶯2517閱讀 127,720評論 1 9
  • 版本:ios 1.2.1 亮點: 1.app角標(biāo)可以實時更新天氣溫度或選擇空氣質(zhì)量,建議處女座就不要選了暑始,不然老想...
    我就是沉沉閱讀 6,894評論 1 6
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月搭独,有人笑有人哭,有人歡樂有人憂愁廊镜,有人驚喜有人失落牙肝,有的覺得收獲滿滿有...
    陌忘宇閱讀 8,536評論 28 53
  • 兔子雖然是枚小碩 但學(xué)校的碩士四人寢不夠 就被分到了博士樓里 兩人一間 在學(xué)校的最西邊 靠山 兔子的室友身體不好 ...
    待業(yè)的兔子閱讀 2,603評論 2 9