TKRGuard 1.0.2

TKRGuard 1.0.2

测试已测试
语言语言 Objective-CObjective C
许可证 MIT
发布最后发布Dec 2014

维护者:Unclaimed



TKRGuard 1.0.2

  • tokorom

异步过程简单的测试助手。

使用方法

您只需要使用 WAITRESUME

- (void)testExample
{
    __block NSString *response = nil;
    [self requestGetAsyncronous:^(id res, NSError *error) {
        response = res;
        RESUME;
    }];

    WAIT;
    XCTAssertEqualObjects(response, @"OK!");
}

高级示例

想要通知状态(如 GHUnit)时。

- (void)testExample
{
    [self requestGetAsyncronous:^(id res, NSError *error) {
        if (error) {
            RESUME_WITH(TKRGuardStatusFailure);
        } else {
            RESUME_WITH(TKRGuardStatusSuccess);
        }
    }];

    WAIT_FOR(TKRGuardStatusSuccess);
}

想要修改默认的超时间隔时。

// default is 1.0
[TKRGuard setDefaultTimeoutInterval:2.0];

想要等待某些恢复时。

    __block NSString *response1 = nil;
    [self requestGetAsyncronous:^(id res, NSError *error) {
        response1 = res;
        RESUME;
    }];
    __block NSString *response2 = nil;
    [self requestGetAsyncronous:^(id res, NSError *error) {
        response2 = res;
        RESUME;
    }];

    WAIT_TIMES(2);
    XCTAssertEqualObjects(response1, @"1");
    XCTAssertEqualObjects(response2, @"2");

不想要使用简写宏时。

#define UNUSE_TKRGUARD_SHORTHAND

- (void)testExample
{
    __block id result = nil;
    [self requestGetAsyncronous:^(id res, NSError *error) {
        result = res;
        [TKRGuard resumeForKey:@"xxx"];
    }];

    [TKRGuard waitWithTimeout:1.0 forKey:@"xxx"];
    XCTAssertEqualObjects(response, @"OK!");
}

配置

手动安装

TKRGuard 子目录添加到项目中。

#import "TKRGuard.h"