今天是2016/01/19
? 目前在Xcode創(chuàng)建的項目支持out-of-the-box測試,新建的項目中有獨立的測試group,即“項目名稱+Test”group;可以作為測試target運行。用Command+R運行應(yīng)用,Command+U編譯運行測試的target。
從測試類型來看主要分:邏輯測試,UI測試,性能測試;分別測試應(yīng)用的業(yè)務(wù)邏輯、UI效果和代碼性能;
單擊方法左側(cè)方塊運行此測試方法;command + u 運行所有測試方法;
iOS 新建工程時可選擇添加UI測試和unit test,
默認(rèn)的單元測試以“工程名+Tests”命名;
單元測試文件有兩個默認(rèn)方法:setup 和 teardown,
1.setup 單元測試的數(shù)據(jù)初始化開始;
2.teardown 單元測試完成并開始回收初始化數(shù)據(jù)垃圾;
3.testExample 示例測試方法,包含一個斷言示例;
4.testPerformanceExample 性能測試的示例方法;
5.自己要測試的方法應(yīng)定義類似為:- (void)testXXX:命名為XXX的測試方法,便于識別, 在測試方法內(nèi)實現(xiàn)業(yè)務(wù)或邏輯,并用大量斷言診斷各狀態(tài);

XCTest斷言:
基本測試,可以用來測試指定的情況
XCTAssert(expression, format...)
如果expression(表達(dá)式)執(zhí)行的結(jié)果為true的話,測試通過。否則,測試失敗,并在console中輸出后面的format字符串。
可以根據(jù)基本斷言演化出功能更為強(qiáng)大和復(fù)雜的斷言:
--->bool斷言
XCTAssertTrue(expression,format...)
XCTAssertFalse(expression,format...)
--->equal test
XCTAssertEqual(expression1,expression2,format...)
XCTAssertNotEqual(expression1,expression2,format...)
--->nil test
XCTAssertNil(expression,format...)
XCTAssertNotNil(expression,format...)
--->無條件失敗斷言
XCTFail(format...)
XCTestExpectation
XCTestExpression異步測試類可以等待指定長度的時間,一直到某些條件符合的時候在開始測試。