【发布时间】:2009-12-31 01:51:03
【问题描述】:
我想对继承自 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
【问题讨论】:
标签: iphone objective-c ocmock