一、運(yùn)行第一個(gè)單元測(cè)試:
1.在Xcode 5中新建一個(gè)工程默認(rèn)自帶一個(gè)單元測(cè)試的文件夾,IDE自動(dòng)生成了一個(gè)實(shí)現(xiàn)XCTestCase的.m文件,里面有一個(gè)失敗測(cè)試(早期版本中實(shí)現(xiàn)的是SenTestCase,是蘋(píng)果集成的第三方的,現(xiàn)在蘋(píng)果建議使用新的XCTestCase)。
2.測(cè)試函數(shù)的要求是:1.必須無(wú)返回值;2.以test開(kāi)頭;
3.測(cè)試函數(shù)執(zhí)行的順序:以函數(shù)名中test后面的字符大小有關(guān),比如-(void)test001XXX會(huì)先于-(void)test002XXX執(zhí)行;
4.運(yùn)行單元測(cè)試的快捷鍵:CMD + U;
二、各種斷言測(cè)試:
XCTFail(format…) 生成一個(gè)失敗的測(cè)試;
XCTAssertNil(a1, format...)為空判斷,a1為空時(shí)通過(guò),反之不通過(guò);
XCTAssertNotNil(a1, format…)不為空判斷,a1不為空時(shí)通過(guò),反之不通過(guò);
XCTAssert(expression, format...)當(dāng)expression求值為T(mén)RUE時(shí)通過(guò);
XCTAssertTrue(expression, format...)當(dāng)expression求值為T(mén)RUE時(shí)通過(guò);
XCTAssertFalse(expression, format...)當(dāng)expression求值為False時(shí)通過(guò);
XCTAssertEqualObjects(a1, a2, format...)判斷相等,[a1 isEqual:a2]值為T(mén)RUE時(shí)通過(guò),其中一個(gè)不為空時(shí),不通過(guò);
XCTAssertNotEqualObjects(a1, a2, format...)判斷不等,[a1 isEqual:a2]值為False時(shí)通過(guò),
XCTAssertEqual(a1, a2, format...)判斷相等(當(dāng)a1和a2是 C語(yǔ)言標(biāo)量、結(jié)構(gòu)體或聯(lián)合體時(shí)使用,實(shí)際測(cè)試發(fā)現(xiàn)NSString也可以);
XCTAssertNotEqual(a1, a2, format...)判斷不等(當(dāng)a1和a2是 C語(yǔ)言標(biāo)量、結(jié)構(gòu)體或聯(lián)合體時(shí)使用);
XCTAssertEqualWithAccuracy(a1, a2, accuracy, format...)判斷相等,(double或float類型)提供一個(gè)誤差范圍,當(dāng)在誤差范圍(+/-accuracy)以內(nèi)相等時(shí)通過(guò)測(cè)試;
XCTAssertNotEqualWithAccuracy(a1, a2, accuracy, format...) 判斷不等,(double或float類型)提供一個(gè)誤差范圍,當(dāng)在誤差范圍以內(nèi)不等時(shí)通過(guò)測(cè)試;
XCTAssertThrows(expression, format...)異常測(cè)試,當(dāng)expression發(fā)生異常時(shí)通過(guò);反之不通過(guò);(很變態(tài))
XCTAssertThrowsSpecific(expression, specificException, format...) 異常測(cè)試,當(dāng)expression發(fā)生specificException異常時(shí)通過(guò);反之發(fā)生其他異?;虿话l(fā)生異常均不通過(guò);
XCTAssertThrowsSpecificNamed(expression, specificException, exception_name, format...)異常測(cè)試,當(dāng)expression發(fā)生具體異常、具體異常名稱的異常時(shí)通過(guò)測(cè)試,反之不通過(guò);
XCTAssertNoThrow(expression, format…)異常測(cè)試,當(dāng)expression沒(méi)有發(fā)生異常時(shí)通過(guò)測(cè)試;
XCTAssertNoThrowSpecific(expression, specificException, format...)異常測(cè)試,當(dāng)expression沒(méi)有發(fā)生具體異常、具體異常名稱的異常時(shí)通過(guò)測(cè)試,反之不通過(guò);
XCTAssertNoThrowSpecificNamed(expression, specificException, exception_name, format...)異常測(cè)試,當(dāng)expression沒(méi)有發(fā)生具體異常、具體異常名稱的異常時(shí)通過(guò)測(cè)試,反之不通過(guò)
ios UnitTest 學(xué)習(xí)筆記