Je souhaite tester la méthode init personnalisée d'une classe héritée de NSURLConnection - comment procéder si l'init de ma classe testable appelle NSURLConnection's initWithRequest
? J'utilise OCMock et normalement, je peux simuler des objets contenus dans ma classe de test. Pour ce scénario d'héritage, quelle est la meilleure approche pour le faire?iphone OCMockObject et test unitaire d'une classe héritée de NSURLConnection
- (void)testInit
{
id urlRequest = [OCMockObject mockForClass:[NSURLRequest class]];
MyURLConnectionWrapper *conn = [[MyURLConnectionWrapper alloc]
initWithRequest:urlRequest delegate:self
someData:extraneousData];
}
Ma classe est mis en œuvre comme ceci:
@interface MyURLConnectionWrapper : NSURLConnection {
}
- (id)initWithRequest:(NSURLRequest *)request
delegate:(id)delegate someData:(NSString *)fooData
@end
@implementation MyURLConnectionWrapper
- (id)initWithRequest:(NSURLRequest *)request
delegate:(id)delegate someData:(NSString *)fooData
{
if (self = [super initWithRequest:request delegate:delegate])
{
// do some additional work here
}
return self;
}
Voici l'erreur que je reçois:
OCMockObject [NSURLRequest]: méthode inattendue invoquée: _CFURLRequest