天天看點

XCTest.framework 統計單元測試以下将介紹如何使用 XCTest.framework   盡Xcode5

以下将介紹如何使用 XCTest.framework   盡Xcode5

步驟1:

點選工程項目

XCTest.framework 統計單元測試以下将介紹如何使用 XCTest.framework   盡Xcode5

步驟2:添加測試Targts

XCTest.framework 統計單元測試以下将介紹如何使用 XCTest.framework   盡Xcode5

選中後直接Next->Finish

添加後工程會多出一個目錄

XCTest.framework 統計單元測試以下将介紹如何使用 XCTest.framework   盡Xcode5

步驟3:Build Settings設定注意:盡量項目中有Build Settings都要設定

近設定Debug=YES即可

XCTest.framework 統計單元測試以下将介紹如何使用 XCTest.framework   盡Xcode5

這個時候就可以 command+U 進行編譯了

此時會提示錯誤

注釋 XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);

現在添加XCTest告一段落

步驟4:快速産生圖形化報表

下載下傳gcov IOS7下輔助重新整理的類庫:XCode5gcovPatch

位址:https://github.com/leroymattingly/XCode5gcovPatch

下載下傳下來之後解壓縮,将以下兩個檔案添加到工程:

XCTest+GCovFlush 僅添加到測試目标

GcovExtern.h 僅添加到測試目标

此時在command+U會報錯

在XCTest+GCovFlush裡

#import "GcovExtern.h"

#import <objc/runtime.h>

下載下傳覆寫率工具:XcodeCoverage

位址:https://github.com/leroymattingly/XCode5gcovPatch

下載下傳完成解壓縮之後放到項目.xcodeproj檔案所在的檔案夾内(和.xcodeproj檔案平級)

XCTest.framework 統計單元測試以下将介紹如何使用 XCTest.framework   盡Xcode5

然後下載下傳lcov(下載下傳位址:http://ltp.sourceforge.net/coverage/lcov.php)解壓縮之後放到XcodeCoverage内。

XCTest.framework 統計單元測試以下将介紹如何使用 XCTest.framework   盡Xcode5

在測試Targets下添加Build Phases:RunScript 

XCTest.framework 統計單元測試以下将介紹如何使用 XCTest.framework   盡Xcode5

Script代碼: XcodeCoverage/exportenv.sh 

XCTest.framework 統計單元測試以下将介紹如何使用 XCTest.framework   盡Xcode5

這樣圖形生成表也就添加完畢

此時clean工程,command+U 無報錯後

打開終端,CD 到項目中XcodeCoverage目錄下 運作./getcov

成功後将自動打開網頁展示圖形化頁面點選下方圖檔紅色部分可進入下一級

XCTest.framework 統計單元測試以下将介紹如何使用 XCTest.framework   盡Xcode5

步驟5:如何添加編寫單元測試類

接下來我我要對OldClass進行操作

OldClass.h 

#import <Foundation/Foundation.h>

@interface OldClass :NSObject

@property (nonatomic,strong)NSString *con;

- (int)match:(NSArray *)otherCards;

@end

OldClass.m

#import "OldClass.h"

@implementation OldClass

- (int)match:(NSArray *)otherCards

{

    int score =0;

    for (OldClass *cardin otherCards)

    {

        if ([card.conisEqualToString:self.con])

        {

            score = 1;

        }

    }

    return score;

}

@end

在XCTest Tests下添加測試類,隻需要連接配接測試Targets

XCTest.framework 統計單元測試以下将介紹如何使用 XCTest.framework   盡Xcode5

直接 Next->Finish

添加的測試類可以看到剛在添加XCTest時裡面的函數是一樣的,同樣注釋掉報錯代碼

編寫測試函數(測試函數必須以test開頭否則編譯是不認為時測試函數)

- (void)testMatchesDifferentCardWithSameContents

{

   NSLog(@"==============%s doing work...",__PRETTY_FUNCTION__);

    OldClass *card1 = [[OldClass alloc] init];

    card1.con =@"one";

    OldClass *card2 = [[OldClass alloc] init];

    card2.con =@"one";

    NSArray *handOfCards = @[card2];

    int matchCount = [card1 match:handOfCards];

   XCTAssertEqual(matchCount,1,@"Should have matched");

}

此時clean工程,command+U 無報錯後

打開終端,CD 到項目中XcodeCoverage目錄下 運作./getcov

此時圖形化界面就會多出你所新添加的測試類視圖

在對已經完成的工程添加測試類時需要手動将檔案添加到測試Targets Build Phases裡,添加.m檔案即可

XCTest.framework 統計單元測試以下将介紹如何使用 XCTest.framework   盡Xcode5

如有操作過程中出現各種報錯問題可回複文章交流經驗,本人也是在無數個報錯中弄明白這些問題

誤噴!!!!

繼續閱讀