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

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

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

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

以下是一些常見問題:

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

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

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

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

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

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

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

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

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

當(dāng)測(cè)試方法發(fā)布失敗斷言時(shí),此斷點(diǎn)停止測(cè)試運(yùn)??行。這使您有機(jī)會(huì)通過在測(cè)試代碼中的故障點(diǎn)之后立即停止執(zhí)行來快速找到問題所在的位置。你可以在此視圖中看到testAddition測(cè)試方法,比較字符串已被強(qiáng)制斷言失敗,通過設(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)試操作以解決問題。

使用項(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)然,你可以通過使用測(cè)試導(dǎo)航器中的運(yùn)行按鈕或源代碼編輯器來運(yùn)行測(cè)試,無論哪個(gè)你覺得更方便。

助理編輯類別

輔助編輯器類別中添加了兩個(gè)專門類別,專門用于測(cè)試。

助理編輯類別

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

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

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

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

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

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn):http://m.itdecent.cn/p/d5fca0185e83 Xcode測(cè)試 前言 總算在今天把...
    測(cè)試小螞蟻閱讀 3,401評(píng)論 0 20
  • Xcode測(cè)試 前言 總算在今天把單元測(cè)試的官方文檔翻譯寫成了一片博客。首先感謝黨,感謝人民,感謝我的父母。也必須...
    許漠顏閱讀 3,613評(píng)論 10 34
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,361評(píng)論 25 708
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,711評(píng)論 19 139
  • 好多做人事行政的朋友總是抱怨現(xiàn)在員工太難管,幾乎用遍所有方法他們也不買單…… 公司園區(qū)最近開了個(gè)24小時(shí)的健身房,...
    景景相依閱讀 311評(píng)論 0 0

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