gpt4 book ai didi

OCMockito 捕获原始类型?

转载 作者:行者123 更新时间:2023-12-05 00:27:29 26 4
gpt4 key购买 nike

如何使用 OCMockito 捕获具有原始值的参数?

MKTArgumentCaptor 似乎只能捕获对象类型? Xcode 说“不兼容的整数转换指针”。

最佳答案

对于原始论点,您必须跳一些舞。假设我们模拟了 NSMutableArray 并想验证对

- (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject;

代替
[verify(mockArray) replaceObjectAtIndex:[argument capture] withObject:anything()];

这给了您类型冲突,我们只有一个虚拟值(0 可以)但添加一个 OCMockito 调用以覆盖给定参数索引处的匹配器:
[[verify(mockArray) withMatcher:[argument capture] forArgument:0]
replaceObjectAtIndex:0 withObject:anything()];
-withMatcher:forArgument: 的参数索引第一个参数是基于 0 的,所以这表示,“对于第一个参数,忽略传入的任何内容并改用此匹配器。”

还有一个方法 -withMatcher:它只是在第一个参数上这样做,所以这个例子可以简化为
[[verify(mockArray) withMatcher:[argument capture]]
replaceObjectAtIndex:0 withObject:anything()];

关于OCMockito 捕获原始类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20511562/

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