我目前正在使用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支持asynchronous expectations,但我不确定如何将它与OCMockito这样的模拟库结合起来。