XCTest.framework 统计单元测试

50 篇文章 1 订阅
46 篇文章 0 订阅

以下将介绍如何使用 XCTest.framework   尽Xcode5


步骤1:

点击工程项目

步骤2:添加测试Targts


选中后直接Next->Finish

添加后工程会多出一个目录


步骤3:Build Settings设置注意:尽量项目中有Build Settings都要设置

近设置Debug=YES即可







这个时候就可以 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文件平级)


然后下载lcov(下载地址:http://ltp.sourceforge.net/coverage/lcov.php)解压缩之后放到XcodeCoverage内。


测试Targets下添加Build Phases:RunScript 


Script代码: XcodeCoverage/exportenv.sh 


这样图形生成表也就添加完毕

此时clean工程,command+U 无报错后

打开终端,CD 到项目中XcodeCoverage目录下 运行./getcov

成功后将自动打开网页展示图形化页面点击下方图片红色部分可进入下一级


步骤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


直接 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文件即可



如有操作过程中出现各种报错问题可回复帖子交流经验,本人也是在无数个报错中弄明白这些问题

误喷!!!!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悠哉-辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值