Новое в OCMock 3 - это способность издеваться над class methods.Метод статического класса OCMock mock protocol.
Возможно ли издеваться над методами класса, определенными в протоколе? т.е.
@protocol AViewControllerProtocol <NSObject>
+ (Type)typeForViewController;
@end
Внутри моего модульного тестирования класса
- (void)testProtocolClassMethod {
id mockedViewController = OCMProtocolMock(@protocol(AViewControllerProtocol));
//This line compiles fine, but throws an exception at run time.
OCMStub([mockedViewController typeForViewController]).andReturn(SomeType);
}
Исключение бросить
NSInvalidArgumentException: не стаб/ожидание/проверить метод 'typeForViewController', потому что нет такого метода не существует в издевался классе
У меня еще не было времени, чтобы просмотреть этот ответ, но он выглядит великолепно. Молодцы. – ajmccall
Использование OCMock 2.2.4 и с той же проблемой. –
Я только что подтолкнул исправление к мастеру. –