使用OCMock时捕获传入方法的块

问题描述:

我正在寻找捕获传递给模拟对象的块。这里被嘲笑类的具体功能:使用OCMock时捕获传入方法的块

[self.imageFetcher fetchImageWithURL:url success:^(NSURL *successUrl, UIImage *image) { 
     //Implementation Details here 
}]; 

这里是我试图捕捉块:

OCMExpect([imageFetcher fetchImageWithURL:urlForSuccess success:[OCMArg checkWithBlock:^(void(^myBlock)(NSURL *,UIImage *)){ 
     myBlock(urlForSuccess,[UIImage new]); 
     return YES; 
    }]]); 

然而,这似乎并不奏效。如何使用checkWithBlock捕获块并能够使用我选择的参数调用该块?

如果你想调用传递给模拟的块,那么你应该使用[OCMArg invokeBlock]。详情请参阅文档2.6节:http://ocmock.org/reference/#stubing-methods