2015-11-28 2 views
0

Сначала я издеваюсь над объектом. Затем я делаю то, что должно вызывать определенный метод объекта. Вызов асинхронный.OCMockito: убедитесь, что метод макета называется когда-то в будущем

Так что я бы хотел подтвердить: в течение не более 5 секунд этот метод макетного объекта должен быть вызван.

Любая идея?

ответ

2

OCMockito не поддерживает асинхронную проверку (пока). До тех пор, пока это не произойдет, я бы рекомендовал вместо этого использовать ручной макет, а assertWithTimeout - OCHamcrest.

Например, вот скрученные вручную макет, чтобы подтвердить, что 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()); 
+0

Спасибо Джон, я думал об этом, но я Бесполезный не найти способ превратить проверку mockito() в нечто вроде значения bool, которое можно утверждать, что-то, что мне не хватало? – CarmeloS

+0

Я добавил простой пример. –

 Смежные вопросы

  • Нет связанных вопросов^_^