4

我是 OCMock 的新手,我打算模拟一个请求调用。需要模拟的 API 按如下定义执行。

   [ProductRequest requestProductUpdateUrl: @"testUrl" withParameters:params   error:^(NSString *updateUrl, NSError *error){
        if (!error && [updateUrl length] !=0 ) {
           NSLog(@"Success");
        } else {
             NSLog(@"Error");
        }
   }];

关于如何requestProductUpdateUrl使用 OCMock 模拟该方法的任何想法?

4

1 回答 1

0

这个功能还没有实现,虽然我认为他们正在努力。我也必须做这样的事情:

semaphore = dispatch_semaphore_create(0);
[myObject myFunctionWithCallback:^(BOOL success){
     if(success)
        dispatch_semaphore_signal(semaphore);
     else
        STFail(@"Call failed"); dispatch_semaphore_signal(semaphore);

}];
[self waitForSemaphore];

使用等待功能是这样的:

- (void)waitForSemaphore;
{
float step_duration = .1;
float wait_steps = 2 / step_duration;
while (dispatch_semaphore_wait(semaphore, dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC / 10)) && wait_steps > 0){
    CFRunLoopRunInMode(kCFRunLoopDefaultMode,step_duration, YES);
    wait_steps--;
}

if (wait_steps <= 0) {
    STFail(@"Timeout!");
}

}

于 2013-11-28T20:23:11.927 回答