XCTest-6-調(diào)試測(cè)試

所有標(biāo)準(zhǔn)的Xcode調(diào)試工具可以在執(zhí)行測(cè)試時(shí)使用队萤。

測(cè)試調(diào)試工作流

首先要確定的是導(dǎo)致失敗的問(wèn)題是在您正在測(cè)試的代碼中的錯(cuò)誤或正在執(zhí)行的測(cè)試方法中的錯(cuò)誤利朵。測(cè)試失敗可能指向幾種不同類(lèi)型的問(wèn)題 - 您的假設(shè)认境,要測(cè)試的代碼或測(cè)試代碼本身 - 因此調(diào)試測(cè)試可以跨越幾個(gè)不同的工作流复亏。然而,你的測(cè)試方法通常相對(duì)較小和直接默终,所以最好首先檢查測(cè)試的目的是什么以及如何實(shí)現(xiàn)。

以下是一些常見(jiàn)問(wèn)題:

1.測(cè)試的邏輯是否正確?執(zhí)行是否正確妇智?
檢查拼寫(xiě)錯(cuò)誤和不正確的文字值總是一個(gè)好主意滥玷,您可能將其用作測(cè)試方法用作比較基準(zhǔn)的參考標(biāo)準(zhǔn)。

2.有什么假設(shè)巍棱?
例如惑畴,您可能在測(cè)試方法中使用錯(cuò)誤的數(shù)據(jù)類(lèi)型,為您要測(cè)試的代碼創(chuàng)建范圍錯(cuò)誤航徙。

3.您是否使用正確的斷言報(bào)告通過(guò)/失敗狀態(tài)如贷?
例如,或許測(cè)試的條件需要XTCAssertTrue而不是XCTAssertFalse到踏。有時(shí)很容易出現(xiàn)此錯(cuò)誤杠袱。

假設(shè)你的測(cè)試假設(shè)是正確的,并且測(cè)試方法正確形成窝稿,那么問(wèn)題就在于被測(cè)試的代碼楣富。是時(shí)候找到并修復(fù)它。

測(cè)試特定的調(diào)試工具

Xcode有一些專(zhuān)門(mén)的工具伴榔,專(zhuān)門(mén)用于幫助您在使用測(cè)試時(shí)定位和調(diào)試代碼菩彬。

測(cè)試失敗斷點(diǎn)

在斷點(diǎn)導(dǎo)航器中,單擊添加按鈕(+)潮梯,然后選擇添加測(cè)試失敗斷點(diǎn)以在開(kāi)始測(cè)試運(yùn)行之前設(shè)置特殊斷點(diǎn)骗灶。

添加測(cè)試失敗斷點(diǎn)

當(dāng)測(cè)試方法發(fā)布失敗斷言時(shí),此斷點(diǎn)停止測(cè)試運(yùn)??行秉馏。這使您有機(jī)會(huì)通過(guò)在測(cè)試代碼中的故障點(diǎn)之后立即停止執(zhí)行來(lái)快速找到問(wèn)題所在的位置耙旦。你可以在此視圖中看到testAddition測(cè)試方法,比較字符串已被強(qiáng)制斷言失敗萝究,通過(guò)設(shè)置參考標(biāo)準(zhǔn)比較到錯(cuò)誤的字符串免都。測(cè)試故障斷點(diǎn)檢測(cè)到故障斷言,并在此時(shí)停止測(cè)試執(zhí)行帆竹。

失敗斷點(diǎn)示意圖

當(dāng)測(cè)試運(yùn)行停止時(shí)绕娘,你停止測(cè)試的執(zhí)行。然后在斷言之前設(shè)置常規(guī)斷點(diǎn)栽连,再次運(yùn)行測(cè)試(為了方便和節(jié)省時(shí)間险领,可以使用源代碼編輯器中的Run按鈕運(yùn)行此測(cè)試),并進(jìn)行調(diào)試操作以解決問(wèn)題秒紧。

使用項(xiàng)目菜單命令運(yùn)行測(cè)試

調(diào)試測(cè)試方法是記住菜單命令項(xiàng)目>執(zhí)行操作>再次測(cè)試和項(xiàng)目>執(zhí)行操作>測(cè)試的好時(shí)機(jī)绢陌。如果你正在編輯在故障后修復(fù)的代碼或運(yùn)行當(dāng)前正在處理的測(cè)試方法,則它們提供了重新運(yùn)行最后一個(gè)測(cè)試方法的方便方法熔恢。有關(guān)詳細(xì)信息脐湾,請(qǐng)參閱使用產(chǎn)品菜單。當(dāng)然叙淌,你可以通過(guò)使用測(cè)試導(dǎo)航器中的運(yùn)行按鈕或源代碼編輯器來(lái)運(yùn)行測(cè)試秤掌,無(wú)論哪個(gè)你覺(jué)得更方便愁铺。

助理編輯類(lèi)別

輔助編輯器類(lèi)別中添加了兩個(gè)專(zhuān)門(mén)類(lèi)別,專(zhuān)門(mén)用于測(cè)試闻鉴。

助理編輯類(lèi)別

1.測(cè)試來(lái)電者類(lèi)別帜讲。如果你剛剛修復(fù)了應(yīng)用程序中導(dǎo)致測(cè)試失敗的方法,您可能需要檢查該方法是否在任何其他測(cè)試中調(diào)用以及它們是否繼續(xù)成功運(yùn)行椒拗。使用源編輯器中的相關(guān)方法,打開(kāi)助理編輯器获黔,然后從菜單中選擇測(cè)試類(lèi)類(lèi)別蚀苛。彈出菜單將允許您導(dǎo)航到調(diào)用它的任何測(cè)試方法,以便您可以運(yùn)行它們玷氏,并確保你的修復(fù)沒(méi)有創(chuàng)建回歸堵未。

2.測(cè)試類(lèi)別。這個(gè)助理編輯器類(lèi)別與測(cè)試調(diào)用程序類(lèi)似盏触,但顯示一個(gè)類(lèi)的列表渗蟹,這些類(lèi)中有測(cè)試方法,它們引用您在主源代碼編輯器中編輯的類(lèi)赞辩。這是一個(gè)很好的方法來(lái)識(shí)別添加測(cè)試的機(jī)會(huì)雌芽,例如,到尚未并入調(diào)用它們的測(cè)試方法的新方法辨嗽。

測(cè)試時(shí)的異常斷點(diǎn)

通常世落,異常會(huì)在異常斷點(diǎn)捕獲時(shí)停止測(cè)試執(zhí)行,因此通常在禁用異常斷點(diǎn)時(shí)運(yùn)行測(cè)試糟需,以便在觸發(fā)斷開(kāi)點(diǎn)時(shí)定位不適當(dāng)?shù)臄帱c(diǎn)屉佳。當(dāng)您在特定問(wèn)題中歸巢時(shí),并且要停止測(cè)試以更正它時(shí)洲押,您啟用異常斷點(diǎn)武花。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市杈帐,隨后出現(xiàn)的幾起案子体箕,更是在濱河造成了極大的恐慌,老刑警劉巖挑童,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件干旁,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡炮沐,警方通過(guò)查閱死者的電腦和手機(jī)争群,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)大年,“玉大人换薄,你說(shuō)我怎么就攤上這事玉雾。” “怎么了轻要?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵复旬,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我冲泥,道長(zhǎng)驹碍,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任凡恍,我火速辦了婚禮志秃,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘嚼酝。我一直安慰自己浮还,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布闽巩。 她就那樣靜靜地躺著钧舌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪涎跨。 梳的紋絲不亂的頭發(fā)上洼冻,一...
    開(kāi)封第一講書(shū)人閱讀 51,562評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音隅很,去河邊找鬼碘赖。 笑死,一個(gè)胖子當(dāng)著我的面吹牛外构,可吹牛的內(nèi)容都是我干的普泡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼审编,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼撼班!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起垒酬,我...
    開(kāi)封第一講書(shū)人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤砰嘁,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后勘究,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體矮湘,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年口糕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了缅阳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡景描,死狀恐怖十办,靈堂內(nèi)的尸體忽然破棺而出秀撇,到底是詐尸還是另有隱情,我是刑警寧澤向族,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布呵燕,位于F島的核電站,受9級(jí)特大地震影響件相,放射性物質(zhì)發(fā)生泄漏再扭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一夜矗、第九天 我趴在偏房一處隱蔽的房頂上張望泛范。 院中可真熱鬧,春花似錦侯养、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至麸俘,卻和暖如春辩稽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背从媚。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工逞泄, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人拜效。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓喷众,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親紧憾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子到千,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

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