NSURLConnection から継承するクラスのカスタム init メソッドを単体テストしたい - テスト可能なクラスの init が呼び出す場合、どうすればよいNSURLConnection's initWithRequest
ですか?
私は OCMock を使用しており、通常、テスト クラスに含まれるオブジェクトをモックできます。この継承シナリオでは、これを行う最善の方法は何ですか?
- (void)testInit
{
id urlRequest = [OCMockObject mockForClass:[NSURLRequest class]];
MyURLConnectionWrapper *conn = [[MyURLConnectionWrapper alloc]
initWithRequest:urlRequest delegate:self
someData:extraneousData];
}
私のクラスは次のように実装されています:
@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;
}
エラーは次のとおりです。
OCMockObject[NSURLRequest]: 予期しないメソッドが呼び出されました: _CFURLRequest