使用 OCMock 时捕获传递到方法中的块
Capturing Block passed into method when using OCMock
我正在寻找传递给模拟对象的块。下面是class被mock的具体函数:
[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
我正在寻找传递给模拟对象的块。下面是class被mock的具体函数:
[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