使用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