系統調試

斷言

//Debug模式下判斷condition條件為假,終止程序,并拋出異常,并顯示原因
//release模式下不會終止程序,不會拋出異常
//和普通代碼寫在一起
NSAssert(condition, desc) 
NSCAssert(condition, desc)

//建議使用NSCAssert,這個宏當中沒有使用self,可以避免循環引用
NSAssert([str isEqualToString:@"coc"], @"這是啥呀");
NSCAssert([str isEqualToString:@"cos"], @"這又是啥呀");

//條件為假,則拋出異常,crash指出相應位置
NSParameterAssert(condition)
NSParameterAssert([str isEqualToString:@"cob"]);

單元測試

  • 單元測試斷言
//專門用于單元測試
XCTAssert(expression, ...)expression為true時通過,否則測試失敗。XCTAssertTrue(expression, ...)expression為true時通過否則測試失敗。
XCTAssertFalse(expression, ...)expression為false時通過否則測試失敗。

//expression接受id類型
XCTAssertEqualObjects(expression1, expression2, ...)
expression1和expression1對象地址相同時通過,否則測試失敗。

XCTAssertNotEqualObjects(expression1, expression2, ...)
expression1和expression1地址不相同時通過,否則測試失敗。
  • 測試方法
-(void)setUp {
    [super setUp];
    //測試方法前調用
    // Put setup code here. This method is called before the invocation of each test method in the class.
}
-(void)tearDown {
     //測試方法后調用
    // Put teardown code here. This method is called after the invocation of each test method in the class.
    [super tearDown];
}
-(void)testExample {
     //所有的測試方法都以test開始,且沒有參數。
    // This is an example of a functional test case.
    // Use XCTAssert and related functions to verify your tests produce the correct results.
   
}

宏定義

//##表示直接在后面拼接
#define WeakSelf(type) __weak typeof(type) weak##self = type
//#表示后面的標識符加雙引號
#define WF(str) [NSString stringWithFormat:@"%@",@#str]
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容