0
首先我模擬一個對象。 然後我做了一些應該使對象的某些方法被調用。該調用是異步的。OCMockito:驗證一個模擬方法在未來的某個時間被調用
所以我想驗證的是:在最多5秒內,這個模擬對象的方法應該被調用。
有什麼想法?
首先我模擬一個對象。 然後我做了一些應該使對象的某些方法被調用。該調用是異步的。OCMockito:驗證一個模擬方法在未來的某個時間被調用
所以我想驗證的是:在最多5秒內,這個模擬對象的方法應該被調用。
有什麼想法?
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());
感謝喬恩,我想過,但我沒沒有辦法將mockito的verify()變成像可以被斷言的布爾值那樣的東西,我失蹤的任何東西? – CarmeloS
我已經添加了一個簡單的例子。 –