單元測試注意事項:
1.測試類必須是XCTestCase的子類,可使用項目自動生成的,也可自己新建一個測試類,用於測試某個特定的被測試的類
2.導入被測試的類.如MathTool
3.新建測試方法,必須以test開頭,對象方法,且無返回值,無參數
4.在測試方法中,根據具體情況,使用XCTAssert...方法對被測試類內部的要測試的方法進行斷言
5.無需運行程序,直接點擊方法左邊的圓形按鈕,就可執行測試方法
<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+0MK9qNK7uPay4srUt723qDwvcD4KPHA+PGJyPgo8L3A+CjxwPjxpbWcgc3JjPQ=="/uploadfile/Collfiles/20140906/2014090608362096.png" alt="\">
點擊測試方法左邊的三角形按鈕,開始測試
測試結果為紅色,原因是工具類還沒實現方法
再次點擊方法左側的三角形按鈕,執行測試
修正工具類的方法後,再次執行測試,結果為綠色
創建自定義測試類
點擊測試方法,左側的執行按鈕,開始測試
紅色表示 測試出錯
綠色表示測試正確
// // _0_____Tests.m // 30_單元測試Tests // // Created by beyond on 14-9-5. // Copyright (c) 2014年 com.beyond. All rights reserved. // 只要繼承自 XCTestCase,本類就具備了單元測試的功能 #import// 1.先導入要測試的類 #import "MathTool.h" @interface _0_____Tests : XCTestCase @end @implementation _0_____Tests - (void)setUp { [super setUp]; // 本類中每一個測試方法 開始之前,都會運行 該setUp方法 } - (void)tearDown { // 本類中每一個測試方法 結束之前,都會運行 該tearDown方法 [super tearDown]; } // 測試方法,必須以textXxx開頭,且是對象方法,且無返回值,且無參數 - (void)testSum { XCTAssertEqual(13, [MathTool sumWithA:6 andB:7], @"求和方法有錯~"); } - (void)testExample { XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__); } @end
// // GirlTest.m // 30_單元測試 // // Created by beyond on 14-9-5. // Copyright (c) 2014年 com.beyond. All rights reserved. // 自定義單元測試類,只要繼承自 XCTestCase,本類就具備了單元測試的功能 #import// 專門測試 GirlFactory 裡面的方法 #import "GirlFactory.h" @interface GirlTest : XCTestCase @end @implementation GirlTest - (void)setUp { [super setUp]; // 本類中每一個測試方法 開始之前,都會運行 該setUp方法 } - (void)tearDown { // 本類中每一個測試方法 結束之前,都會運行 該tearDown方法 [super tearDown]; } // 測試方法,必須以textXxx開頭,且是對象方法,且無返回值,且無參數 - (void)testGirlFactory { XCTAssertNotNil([GirlFactory girl], @"女朋友工廠出錯,無法生產女朋友了~"); } - (void)testExample { XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__); } @end