IOS單元測試中的斷言

一、運行第一個單元測試:

1.在Xcode 5中新建一個工程默認自帶一個單元測試的文件夾,IDE自動生成了一個實現XCTestCase的.m文件,裏面有一個失敗測試(早期版本中實現的是SenTestCase,是蘋果集成的第三方的,現在蘋果建議使用新的XCTestCase)。

2.測試函數的要求是:1.必須無返回值;2.以test開頭;

3.測試函數執行的順序:以函數名中test後面的字符大小有關,比如-(void)test001XXX會先於-(void)test002XXX執行;

4.運行單元測試的快捷鍵:CMD + U;

二、各種斷言測試:

XCTFail(format…) 生成一個失敗的測試;

XCTAssertNil(a1, format…)爲空判斷,a1爲空時通過,反之不通過;

XCTAssertNotNil(a1, format…)不爲空判斷,a1不爲空時通過,反之不通過;

XCTAssert(expression, format…)當expression求值爲TRUE時通過;

XCTAssertTrue(expression, format…)當expression求值爲TRUE時通過;

XCTAssertFalse(expression, format…)當expression求值爲False時通過;

XCTAssertEqualObjects(a1, a2, format…)判斷相等,[a1 isEqual:a2]值爲TRUE時通過,其中一個不爲空時,不通過;

XCTAssertNotEqualObjects(a1, a2, format…)判斷不等,[a1 isEqual:a2]值爲False時通過,

XCTAssertEqual(a1, a2, format…)判斷相等(當a1和a2是 C語言標量、結構體或聯合體時使用,實際測試發現NSString也可以);

XCTAssertNotEqual(a1, a2, format…)判斷不等(當a1和a2是 C語言標量、結構體或聯合體時使用);

XCTAssertEqualWithAccuracy(a1, a2, accuracy, format…)判斷相等,(double或float類型)提供一個誤差範圍,當在誤差範圍(+/-accuracy)以內相等時通過測試;

XCTAssertNotEqualWithAccuracy(a1, a2, accuracy, format…) 判斷不等,(double或float類型)提供一個誤差範圍,當在誤差範圍以內不等時通過測試;

XCTAssertThrows(expression, format…)異常測試,當expression發生異常時通過;反之不通過;(很變態)

XCTAssertThrowsSpecific(expression, specificException, format…) 異常測試,當expression發生specificException異常時通過;反之發生其他異常或不發生異常均不通過;

XCTAssertThrowsSpecificNamed(expression, specificException, exception_name, format…)異常測試,當expression發生具體異常、具體異常名稱的異常時通過測試,反之不通過;

XCTAssertNoThrow(expression, format…)異常測試,當expression沒有發生異常時通過測試;

XCTAssertNoThrowSpecific(expression, specificException, format…)異常測試,當expression沒有發生具體異常、具體異常名稱的異常時通過測試,反之不通過;

XCTAssertNoThrowSpecificNamed(expression, specificException, exception_name, format…)異常測試,當expression沒有發生具體異常、具體異常名稱的異常時通過測試,反之不通過

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章