0

假设我有这样的方法

[SomeObject someMethod:(id)object someRect:(CGRect)rect];

在进行单元测试时,我非常希望使用特定对象和任何矩形调用此函数,但此代码不起作用:

[verifyCount(mockObject, MKTTimes(1)) someMethod:HC_equalTo(message) someRect:HC_anything()];

编译器会说 HC_anything 不是 CGRect。

有没有办法解决这个问题?

4

1 回答 1

1
[[verify(mockObject) withMatcher:anything() forArgument:1]
    someMethod:message someRect:CGRectZero];

基本上,传入一个将被忽略的矩形,因为我们已经使用覆盖了匹配withMatcher:forArgument:

…请注意,这verifyverifyCountwith的缩写times(1)。另外,message直接传递是equalTo(message).

于 2015-05-14T17:32:36.630 回答