0

首先我模拟一个对象。然后我做了一些应该使对象的某些方法被调用的事情。调用是异步的。

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

任何想法?

4

1 回答 1

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());
于 2015-11-28T16:36:08.897 回答