Testing with Xcode文檔(中文版):代碼覆蓋率

Code Coverage是Xcode 7 的一項(xiàng)新功能筹燕,能夠使你量化多少代碼被測(cè)試用例執(zhí)行意推。根據(jù)代碼覆蓋场绿,你可以決定測(cè)試用例是否是你關(guān)注的聂儒。

啟用代碼覆蓋

在Xcode的Code coverage是LLVM支持的測(cè)試選項(xiàng)扩所。當(dāng)你啟動(dòng)Code coverage围详,LLVM工具的代碼去收集基于該方法和功能被調(diào)用的覆蓋數(shù)據(jù)。code coverage選項(xiàng)可以收集數(shù)據(jù),以報(bào)告測(cè)試的性能和正確性助赞,無(wú)論是單元測(cè)試還是UI測(cè)試

你可以通過(guò)編輯scheme的測(cè)試行為來(lái)啟動(dòng)代碼覆蓋

  1. 從Scheme編輯菜單中現(xiàn)在編輯 Scheme


    選擇Scheme
    選擇Scheme
  2. 選擇Test action
  3. 啟用 Code Coverage復(fù)選框來(lái)收集覆蓋數(shù)據(jù)买羞。


    啟用Code Coverage
    啟用Code Coverage
  4. 點(diǎn)擊Close

How Code Coverage Fits into Testing

代碼覆蓋率是衡量你測(cè)試量的一個(gè)工具。它解決了一下問(wèn)題

  1. 當(dāng)運(yùn)行你的測(cè)試用例時(shí)那些代碼在執(zhí)行
  2. 你的測(cè)試用例是否足夠
    換句話說(shuō)雹食,你有沒(méi)有足夠的測(cè)試用例來(lái)檢查你的所有的代碼正確性和性能畜普。
  3. 沒(méi)有測(cè)試到那些部分的代碼
    當(dāng)運(yùn)行完測(cè)試用例,Xcode取得LLVM的覆蓋數(shù)據(jù)并且用它生成覆蓋報(bào)告群叶,顯示在覆蓋窗口中吃挑。其中顯示了測(cè)試運(yùn)行的源文件和功能的列表,并提供了每一個(gè)的代碼覆蓋率街立。


    代碼覆蓋率結(jié)果
    代碼覆蓋率結(jié)果

源碼編輯器顯示了文件中的每一行代碼舶衬,并高亮顯示了未被執(zhí)行的代碼。它強(qiáng)調(diào)需要覆蓋的區(qū)域而不是已經(jīng)覆蓋的區(qū)域赎离。例如逛犹,移動(dòng)鼠標(biāo)到-[Calculator input:]方法在代碼覆蓋率報(bào)告上顯示的按鈕,會(huì)帶你到注釋的源代碼蟹瘾。


查看源碼
查看源碼

代碼覆蓋率的注釋顯示在左側(cè)圾浅,并且顯示了在執(zhí)行測(cè)試期間被執(zhí)行的次數(shù)。 例如:


覆蓋代碼示例
覆蓋代碼示例

input:方法, 調(diào)用計(jì)數(shù)憾朴,在測(cè)試時(shí)頻繁的被調(diào)用狸捕,然而,也有哪些沒(méi)有被調(diào)用的方法众雷。這清楚的被標(biāo)記在源碼編輯器中灸拍,如下:


未覆蓋代碼示例
未覆蓋代碼示例

這個(gè)報(bào)告的數(shù)據(jù)和顯示給你一個(gè)機(jī)會(huì)去先一個(gè)測(cè)試用例,包括意外或無(wú)效字符砾省,以確保錯(cuò)誤的初始方式是你預(yù)料的鸡岗。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市编兄,隨后出現(xiàn)的幾起案子轩性,更是在濱河造成了極大的恐慌,老刑警劉巖狠鸳,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件揣苏,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡件舵,警方通過(guò)查閱死者的電腦和手機(jī)卸察,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)铅祸,“玉大人坑质,你說(shuō)我怎么就攤上這事。” “怎么了涡扼?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵稼跳,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我壳澳,道長(zhǎng)岂贩,這世上最難降的妖魔是什么茫经? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任巷波,我火速辦了婚禮,結(jié)果婚禮上卸伞,老公的妹妹穿的比我還像新娘抹镊。我一直安慰自己,他們只是感情好荤傲,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布垮耳。 她就那樣靜靜地躺著,像睡著了一般遂黍。 火紅的嫁衣襯著肌膚如雪终佛。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,156評(píng)論 1 308
  • 那天雾家,我揣著相機(jī)與錄音铃彰,去河邊找鬼。 笑死芯咧,一個(gè)胖子當(dāng)著我的面吹牛牙捉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播敬飒,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼邪铲,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了无拗?” 一聲冷哼從身側(cè)響起带到,我...
    開(kāi)封第一講書(shū)人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎英染,沒(méi)想到半個(gè)月后揽惹,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡税迷,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年永丝,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片箭养。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡慕嚷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情喝检,我是刑警寧澤嗅辣,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站挠说,受9級(jí)特大地震影響澡谭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜损俭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一蛙奖、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧杆兵,春花似錦雁仲、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至日裙,卻和暖如春吹艇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背昂拂。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工受神, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人政钟。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓路克,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親养交。 傳聞我的和親對(duì)象是個(gè)殘疾皇子精算,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

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