標籤:測試 單元測試 ios
單元測試注意事項:
1.測試類別必須是XCTestCase的子類,可使用項目自動產生的,也可自己建立一個測試類別,用於測試某個特定的被測試的類
2.匯入被測試的類.如MathTool
3.建立測試方法,必須以test開頭,對象方法,且無返回值,無參數
4.在測試方法中,根據具體情況,使用XCTAssert...方法對被測試類別內部的要測試的方法進行斷言
5.無需運行程式,直接點擊方法左邊的圓形按鈕,就可執行測試方法
建立一個測試方法
點擊測試方法左邊的三角形按鈕,開始測試
測試結果為紅色,原因是工具類還沒實現方法
再次點擊方法左側的三角形按鈕,執行測試
修正工具類的方法後,再次執行測試,結果為綠色
建立自訂測試類別
點擊測試方法,左側的執行按鈕,開始測試
紅色表示 測試出錯
綠色表示測試正確
//// _0_____Tests.m// 30_單元測試Tests//// Created by beyond on 14-9-5.// Copyright (c) 2014年 com.beyond. All rights reserved.// 只要繼承自 XCTestCase,本類就具備了單元測試的功能#import <XCTest/XCTest.h>// 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 <XCTest/XCTest.h>// 專門測試 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
iOS_30_單元測試