Я пытаюсь проверить класс, который реализует два метода класса из NSURLConnection
, но постоянно получаю сообщение об ошибке:Mocking селекторы класса с OCMock
error: testSyncConnection (MyURLConnectionTest) failed: *** -[NSProxy doesNotRecognizeSelector:sendSynchronousRequest:returningResponse:error:] called!
Вот интерфейс для MyURLConnection
:
@interface MyURLConnection : NSURLConnection
+ (void) sendAsynchronousRequest:(NSURLRequest *)request queue:(NSOperationQueue*) queue completionHandler:(void (^)(NSURLResponse*, NSData*, NSError*)) handler;
+ (NSData *) sendSynchronousRequest:(NSURLRequest *)request returningResponse (NSURLResponse **)response error:(NSError **)error;
@end
Вот как я пытаюсь сделать это:
- (void)testSyncConnection
{
id testConnection = [OCMockObject mockForClass:[MyURLConnection class]];
[[[testConnection stub] andReturn:Nil] sendSynchronousRequest:Nil
returningResponse:Nil
error:Nil];
//rest of test...
}
, который терпит неудачу при монтаже p art, производя ошибку, которую я разместил выше.
Я также убедился, что реализация цели тоже добавлена.
Любые советы, что мне здесь не хватает?
вы пробовали '[[[[testConnection окурок] classMethod] andReturn: ноль] sendSynchronousRequest: ...'? – Pfitz
Спасибо за отзыв, но в документах объясняется, что это нужно делать только тогда, когда у вас есть метод класса и экземпляра с тем же именем, что, к сожалению, не мое дело. –