在OCMVerify

时间:2017-03-23 14:53:14

标签: ios objective-c unit-testing mocking ocmock

我在我的iOS项目中使用OCMock作为模拟框架。当我尝试使用OCVerify功能来测试某个方法被调用时,我遇到了将基元类型作为参数传递的问题。 以下是显示问题的示例:

1-)例子在没有参数或对象参数时成功验证调用。

OCMVerify([mockedClass methodToCall])
OCMVerify([mockedClass methodWithObjectParameter:[OCMArg any]);

2-)当我想验证一个以 int 为参数的方法时:

OCMVerify([mockedClass methodWithIntParameter:[OCMArg any]);

在这种情况下, [OCMArg any] 的行为与预期不符。它返回一个实际的整数,导致参数值不匹配。实际上我并不关心整数值是否正确。我唯一的考虑因素是如果使用任何整数调用该方法,无论其值如何。

我想知道当使用基元类型作为参数时,有没有办法让 [OCMArg any] 对对象产生完全相同的效果?

1 个答案:

答案 0 :(得分:0)

请参阅文档中的section 4