Xcode單元測試-斷言

根據(jù)測試的目的大致可以將單元測試分為這三類:

  1. 性能測試:測試代碼執(zhí)行花費(fèi)的時(shí)間
  2. 邏輯測試:測試代碼執(zhí)行結(jié)果是否符合預(yù)期
  3. 異步測試:測試多線程操作代碼
  • 單元測試的方法必須以test開頭蘸嘶,遵循駝峰命名法且不能帶有參數(shù)。
  • 測試方法的執(zhí)行順序是字典序排序嬉探。
  • 按快捷鍵Command + U進(jìn)行單元測試(或者Product->Test)耸棒,這個(gè)是全部測試。

一個(gè)標(biāo)準(zhǔn)的測試類文件包含如下函數(shù):

  1. setUp會(huì)在每一個(gè)測試用例開始前調(diào)用,用來初始化相關(guān)數(shù)據(jù)
  2. tearDown在測試用例完成后調(diào)用,可以用來釋放變量操作畸颅;
  3. testPerformanceExample中的會(huì)將方法中的block代碼耗費(fèi)時(shí)長打印出來;
  4. testExample可以用來執(zhí)行我們需要的測試操作方援。
//生成一個(gè)失敗的測試重斑;
XCTFail(format…)  

//為空判斷,a1為空時(shí)通過肯骇,反之不通過;
XCTAssertNil(a1, format...)

//不為空判斷祖很,a1不為空時(shí)通過笛丙,反之不通過;
XCTAssertNotNil(a1, format…)

//當(dāng)expression求值為TRUE時(shí)通過假颇;
XCTAssert(expression, format...)

//當(dāng)expression求值為TRUE時(shí)通過胚鸯;
XCTAssertTrue(expression, format...)

//當(dāng)expression求值為False時(shí)通過;
XCTAssertFalse(expression, format...)

//判斷相等笨鸡,[a1 isEqual:a2]值為TRUE時(shí)通過姜钳,其中一個(gè)不為空時(shí),不通過形耗;
XCTAssertEqualObjects(a1, a2, format...)

//判斷不等哥桥,[a1 isEqual:a2]值為False時(shí)通過;
XCTAssertNotEqualObjects(a1, a2, format...)

//判斷相等(當(dāng)a1和a2是 C語言標(biāo)量激涤、結(jié)構(gòu)體或聯(lián)合體時(shí)使用, 判斷的是變量的地址拟糕,如果地址相同則返回TRUE,否則返回NO)倦踢;
XCTAssertEqual(a1, a2, format...)

//判斷不等(當(dāng)a1和a2是 C語言標(biāo)量送滞、結(jié)構(gòu)體或聯(lián)合體時(shí)使用);
XCTAssertNotEqual(a1, a2, format...)

//判斷相等辱挥,(double或float類型)提供一個(gè)誤差范圍犁嗅,當(dāng)在誤差范圍(+/-accuracy)以內(nèi)相等時(shí)通過測試;
XCTAssertEqualWithAccuracy(a1, a2, accuracy, format...)

//判斷不等晤碘,(double或float類型)提供一個(gè)誤差范圍褂微,當(dāng)在誤差范圍以內(nèi)不等時(shí)通過測試功蜓;
XCTAssertNotEqualWithAccuracy(a1, a2, accuracy, format...) 

//異常測試,當(dāng)expression發(fā)生異常時(shí)通過蕊梧;反之不通過霞赫;
XCTAssertThrows(expression, format...) 

//異常測試,當(dāng)expression發(fā)生specificException異常時(shí)通過肥矢;反之發(fā)生其他異扯怂ィ或不發(fā)生異常均不通過;
XCTAssertThrowsSpecific(expression, specificException, format...) 

//異常測試甘改,當(dāng)expression發(fā)生具體異常旅东、具體異常名稱的異常時(shí)通過測試,反之不通過十艾;
XCTAssertThrowsSpecificNamed(expression, specificException, exception_name, format...)

//異常測試抵代,當(dāng)expression沒有發(fā)生異常時(shí)通過測試;
XCTAssertNoThrow(expression, format…)

//異常測試忘嫉,當(dāng)expression沒有發(fā)生具體異常荤牍、具體異常名稱的異常時(shí)通過測試,反之不通過庆冕;
XCTAssertNoThrowSpecific(expression, specificException, format...)

//異常測試康吵,當(dāng)expression沒有發(fā)生具體異常、具體異常名稱的異常時(shí)通過測試访递,反之不通過
XCTAssertNoThrowSpecificNamed(expression, specificException, exception_name, format...)

參考文章:
iOS-使用Xcode自帶單元測試UnitTest
iOS單元測試(作用及入門提升)
iOS開發(fā)-單元測試

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末晦嵌,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子拷姿,更是在濱河造成了極大的恐慌惭载,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件响巢,死亡現(xiàn)場離奇詭異描滔,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)踪古,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門伴挚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人灾炭,你說我怎么就攤上這事茎芋。” “怎么了蜈出?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵田弥,是天一觀的道長。 經(jīng)常有香客問我铡原,道長偷厦,這世上最難降的妖魔是什么商叹? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮只泼,結(jié)果婚禮上剖笙,老公的妹妹穿的比我還像新娘。我一直安慰自己请唱,他們只是感情好弥咪,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著十绑,像睡著了一般聚至。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上本橙,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天扳躬,我揣著相機(jī)與錄音,去河邊找鬼甚亭。 笑死贷币,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的亏狰。 我是一名探鬼主播片择,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼骚揍!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起啰挪,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤信不,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后亡呵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抽活,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年锰什,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了下硕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡汁胆,死狀恐怖梭姓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情嫩码,我是刑警寧澤誉尖,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站铸题,受9級(jí)特大地震影響铡恕,放射性物質(zhì)發(fā)生泄漏琢感。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一探熔、第九天 我趴在偏房一處隱蔽的房頂上張望驹针。 院中可真熱鬧,春花似錦诀艰、人聲如沸柬甥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽暗甥。三九已至,卻和暖如春捉捅,著一層夾襖步出監(jiān)牢的瞬間撤防,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國打工棒口, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留寄月,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓无牵,卻偏偏與公主長得像漾肮,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子茎毁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

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

  • AnyObject閱讀 319評(píng)論 0 0
  • 簡介 測試目的:模擬多種可能性克懊,減少錯(cuò)誤,增強(qiáng)健壯性七蜘,提高穩(wěn)定性谭溉。 測試種類:在iOS中的通常分為單元測試和UI測...
    i順頌時(shí)宜閱讀 9,132評(píng)論 0 39
  • 簡介 unittest是Python的內(nèi)建模塊,是Python單元測試的事實(shí)標(biāo)準(zhǔn)橡卤,也叫PyUnit扮念。使用unitt...
    俊采星馳_87e0閱讀 7,985評(píng)論 2 26
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,103評(píng)論 1 32
  • 人生最好的旅行,就是在陌生的地方碧库,發(fā)現(xiàn)一種久違的感動(dòng)柜与。旅行,才是女人最劃算的投資嵌灰,不只是為了看風(fēng)景弄匕,而是為了去天地...
    董夢雅閱讀 469評(píng)論 0 1