OCMock предлагает хороший синтаксис для издевательства методов класса, но могут ли вызовы методов класса пересылаться реальному объекту класса?OCMock вперед к исходному методу класса
self.connectionMock = [OCMockObject mockForClass:NSURLConnection.class];
[[[[self.connectionMock stub] andDo:^(NSInvocation *invocation) {
NSURL *url = [invocation getArgumentAtIndexAsObject:2];
NSLog(@"Passing through mock: %@", url);
} ] andForwardToRealObject] connectionWithRequest:OCMOCK_ANY delegate:OCMOCK_ANY];
Проблема заключается в том andForwardToRealObject
работает только для обертонов. Я мог бы использовать метод swizzling, но есть ли простой способ вызвать метод исходного класса с помощью OCMock?
Вы можете использовать частичный макет с классом вместо объекта –
@JoshTheGeek К сожалению, 'Class 'не является' NSObject', поэтому вы не можете создать частичный макет на нем. Если вы попытаетесь создать частичный макет в экземпляре, он не сможет перенаправить метод класса, потому что он не ищет метод класса селекторов –
Возможно, есть другой подход. Можете ли вы более подробно объяснить, что вы пытаетесь стандартное восточное время? –