Похоже, вы создали фиктивный объект NSURLConnection. Однако предупреждение NSProxy является правильным, объект NSURLConnection не имеет соединения селектора: didReceiveResponse: - это селектор, который передается объекту, который реализует протокол.
Вам необходимо смоделировать объект, который реализует NSURLConnectionDelegate. Так как протокол делегата указывает соединение: didReceiveResponse: вы не должны получить ошибку:)
У меня не было большого опыта работы с OCMock, но, похоже, это устраняет ошибку компиляции:
@interface ConnectionDelegate : NSObject { }
- (void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response;
@end
@implementation ConnectionDelegate
- (void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { }
@end
@interface ConnectionTestCase : SenTestCase { }
@end
@implementation ConnectionTestCase
- (void)testShouldConnect {
id mock = [OCMockObject mockForClass:[ConnectionDelegate class]];
NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:mock startImmediately:NO];
[[mock expect] connection:connection didReceiveResponse:OCMOCK_ANY];
}
@end
Надеюсь, это поможет,
Sam