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
只適用於偏差。我可以自己調整方法,但是有沒有一種簡單的方法可以讓我用OCMock調用原始的類方法?
你能使用部分模擬了一類,而不是一個對象的 –
@JoshTheGeek不幸的是'類'不是'NSObject',所以你不能創建一個部分的模擬,如果你試圖在一個實例上創建一個部分模擬,它將不能轉發該類的方法,因爲它沒有搜索類方法選擇器 –
也許還有一種不同的方法,你能更廣泛地解釋你想要做什麼嗎?美東時間? –