XCTestAsync 1.0

XCTestAsync 1.0

测试已测试
Lang语言 Obj-CObjective C
许可协议 MIT
Released最后发布2014年12月

未声明维护。



  • James Hu

XCTestAsync 是 XCTest 的异步测试扩展,并基于 SenTestingKitAsync

安装

目前有两种方法可以将 XCTestAsync 添加到您的项目中:

  • 使用 CocoaPods 安装(推荐)
  • 手动复制源文件

手动

如果您不使用 CocoaPods,您可以将 XCTestAsync.hXCTestAsync.m 复制到您的测试目标中。此外,您需要将 -ObjC 添加到您的测试目标链接器标志中。

用法

要在测试中使用 XCTestAsync,请执行以下操作:

  1. 导入头文件

    #import <XCTestAsync/XCTestAsync.h>
  2. 添加以 Async 结尾的测试方法

    - (void)testMethodAsync
    {
        // your async code here
    }
  3. 告诉 XCTestAsync 测试成功

    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 2 * NSEC_PER_SEC);
    dispatch_after(popTime, dispatch_get_main_queue(), ^{
        XCAsyncSuccess();
    });

一旦异步测试开始,XCTestAsync 将等待直到发生以下情况之一:测试失败(通过调用如 XCTFail(…)XCTAssert(…) 的断言)或通过调用 XCAsyncSuccess() 发出成功信号。如果这两种情况都没有发生,XCTestAsync 将无限期地等待。

超时

如果您预计异步测试将在指定的时间内运行,您可以通过调用 XCAsyncFailAfter(timeout, description, …) 指定一个时间限制。如果在此时间限制内未发出成功信号,测试将在 timeout 秒数后失败。

进一步阅读