我目前正在使用 Kiwi 编写测试,但我有兴趣尝试 Specta/Expecta/OCMockito(或其他模拟库,如有必要)。
我使用 Kiwi 的一件事是测试在一些异步工作之后调用委托方法。例如,这个 Kiwi 规范对 HTTP 请求响应(在后台队列中执行)进行存根,并测试最终委托是否被告知来自请求的响应:
it(@"Sends a callback", ^{
[OHHTTPStubs stubRequestContainingString:@"start" withJSON:@{}];
id starterMock = [KWMock mockForProtocol:@protocol(HZMediationStarting)];
HZMediationStarter *starter = [[HZMediationStarter alloc] initWithStartingDelegate:starterMock];
[starter start];
[[starterMock shouldEventually] receive:@selector(startWithDictionary:fromCache:)];
});
有没有办法通过 Expecta/OCMockito(或可能是另一个模拟库?)来实现这一点。我可以看到 Expecta 支持异步期望,但我不确定如何将它与像 OCMockito 这样的模拟库结合起来。