私は OCMock を使って実験していますが、これまでのところ私の単純な実験は失敗しています。私がモックしたいこの実験的なクラスを考えると:
@interface HTTPConnection : NSObject <NSURLConnectionDelegate>
@property (strong, nonatomic) NSURLConnection *connection;
-(int) makeConnection:(NSString*) url; // implementation returns 5
@end
次のテスト ケースを呼び出すと、結果変数には 15 ではなく 5 が含まれているため、モック メソッドではなく実際のオブジェクト メソッドが呼び出されます。
- (void)testExample
{
id connection = [OCMockObject mockForClass:[HTTPConnection class]];
[[[connection stub] andReturn: [NSNumber numberWithInt: 15]] makeConnection:[OCMArg any]];
HTTPConnection* realConnection = [[HTTPConnection alloc] init];
int result = [realConnection makeConnection:@"http://www.anything.com"];
}