【发布时间】:2012-10-11 11:08:35
【问题描述】:
我是 OCMock 的新手,我打算模拟一个请求调用。需要模拟的 API 按如下定义执行。
[ProductRequest requestProductUpdateUrl: @"testUrl" withParameters:params error:^(NSString *updateUrl, NSError *error){
if (!error && [updateUrl length] !=0 ) {
NSLog(@"Success");
} else {
NSLog(@"Error");
}
}];
知道如何使用 OCMock 模拟方法 requestProductUpdateUrl 吗?
【问题讨论】:
-
看起来
requestProductUpdateUrl是一个类方法。那是对的吗?你不能用 OCMock 模拟类方法。 -
@Christopher 是的,这是一个类方法,但我也可以将其修改为不是类方法。谢谢你指出。如果是这样,我的代码将被修改 self.productService = [OCMockObject mockForClass:[ProductService class]]; [self.productService requestProductUpdateUrl: @"testUrl" withParameters:params error:^(NSString *updateUrl, NSError *error){ if (!error && [updateUrl length] !=0 ) { NSLog(@"Success"); } else { NSLog(@"错误"); } }];
-
好的,那么你想测试什么?您是否只想验证它是否已被调用,是否已使用某个块调用,等等?
-
我想为方法提供一个模拟存根
标签: objective-c ios ocmock