OCMock测试结构的地址

时间:2011-10-05 19:15:56

标签: objective-c unit-testing ocmock

我有一些我要测试的代码,它传递的是一个struct的地址:

MyObject myObject = ...;
MyRecord record = [someObject record];  //record is a @property
[myObject add:&record];

我嘲笑someObject返回记录:

MyRecord record = ...;
[[[_mockSomeObject stub] andReturnValue:OCMOCK_VALUE(record)] record];
[[_mockMyObject expect] add:&record];

不幸的是,OCMock失败了(我相信),因为从NSValue包装器中拉出结构将始终返回不同的地址。

如果其中一个参数是结构的地址,有没有办法让期望正常工作?

1 个答案:

答案 0 :(得分:3)

用OCMock查看this post on returning structs。看起来OCMOCK_VALUE宏不会削减它。