OCMockito:验证将来某个时候调用mock的方法

时间:2015-11-28 04:01:40

标签: ios unit-testing ocmockito

首先我模拟一个对象。 然后我做一些应该使对象的特定方法被调用的东西。该调用是异步的。

所以我要验证的是:在最多5秒内,应该调用模拟对象的这个方法。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

OCMockito还不支持异步验证。在此之前,我建议使用手动模拟和OCHamcrest的assertWithTimeout

例如,这是一个手动模拟以确认fooBar被调用:

@interface MockFoo : NSObject
@property (nonatomic, assign) BOOL fooBarWasCalled;
- (void)fooBar;
@end

@implementation MockFoo

- (void)fooBar
{
    self.fooBarWasCalled = YES;
}

@end

然后用OCHamcrest:

assertWithTimeout(5, thatEventually(@(myMock.fooBarWasCalled), isTrue());