XCTAsyncTestCase 0.1.0

XCTAsyncTestCase 0.1.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布日期上次发布2014年12月

Rodrigo Martin维护。



  • 作者:
  • sveinungkb

xctest-additions

此仓库包含由iHeartRadio公开发布的代码,旨在扩展并简化使用Apple的XCTest框架进行测试。您可自由使用、复制和修改此代码,若存在则须维护和尊重原始的版权声明。

XCTAsyncTestCase

GHUnit的异步测试类GHAsyncUnitTestCase的XCTest功能导出替换。这个类将允许您使用常规的XCTest目标测试异步行为,以便它们可以从Xcode或Xcode Server中轻松运行。

将文件XCTAsyncTestCase.hXCTAsyncTestCase.m拖入您的项目中,并将它们添加到您的iOS测试目标中。

使用代码块的示例测试用例《TestAsync.m》

@interface TestAsync : XCTAsyncTestCase

@end

@implementation TestAsync
- (void)testBlockSample
{
    [self prepare];
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(){
        sleep(1.0);
        [self notify:kXCTUnitWaitStatusSuccess];
    });
    // Will wait for 2 seconds before expecting the test to have status success
    // Potential statuses are:
    //    kXCTUnitWaitStatusUnknown,    initial status
    //    kXCTUnitWaitStatusSuccess,    indicates a successful callback
    //    kXCTUnitWaitStatusFailure,    indicates a failed callback, e.g login operation failed
    //    kXCTUnitWaitStatusCancelled,  indicates the operation was cancelled
    [self waitForStatus:kXCTUnitWaitStatusSuccess timeout:2.0];
}

xtesitfy.sh

将任何旧的GHUnit测试类自动转换为Apple的XCTests的脚本来搜索GHUnit的断言和类名,并将它们替换为相应的XCTest替代品。