gpt4 book ai didi

objective-c - OCMockito 模拟调用 block

转载 作者:搜寻专家 更新时间:2023-10-30 20:00:08 24 4
gpt4 key购买 nike

我想用以下消息声明模拟一个对象:

- (void)createWithCompletion:(void (^)(FuseResult *result, NSError *err)) 完成;

是否可以模拟此消息必须处理的 block 调用?

我读了ArgumentCaptorTest其中有 block ,但我不确定它是否相关。

最佳答案

向下滚动到 https://github.com/jonreid/OCMockito 的底部并且您会看到“为进一步断言捕获参数”。第二个示例展示了如何使用 MKTArgumentCaptor 捕获 block 参数,然后调用它。

这是一个例子:

MKTArgumentCaptor *argument = [[MKTArgumentCaptor alloc] init];
[verify(mockObject) createWithCompletion:[argument capture]];
void (^completion)(FuseResult *result, NSError *err) = [argument value];
completion(someResult, someErr);

这不会使 mockObject 以任何方式调用该 block 。相反,它捕获传递给 mockObject 的 block 。最后一步是使用您想要用于测试的任何参数调用捕获的 block 。

关于objective-c - OCMockito 模拟调用 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20365568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com