2013-10-25 1 views
9

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?

+0

Вы можете использовать частичный макет с классом вместо объекта –

+0

@JoshTheGeek К сожалению, 'Class 'не является' NSObject', поэтому вы не можете создать частичный макет на нем. Если вы попытаетесь создать частичный макет в экземпляре, он не сможет перенаправить метод класса, потому что он не ищет метод класса селекторов –

+0

Возможно, есть другой подход. Можете ли вы более подробно объяснить, что вы пытаетесь стандартное восточное время? –

ответ

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