objective-c - OCMock 测试结构体的地址

标签 objective-c unit-testing ocmock

我想测试一些传递结构地址的代码:

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 包装器中提取结构将始终返回不同的地址。

如果参数之一是结构体的地址,是否有办法让预期正常工作?

最佳答案

看看this post on returning structs与 OCMock。看起来 OCMOCK_VALUE 宏并不能解决这个问题。

关于objective-c - OCMock 测试结构体的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7666449/

相关文章:

iphone - 如何在 iPhone 中对这个 hitTest 覆盖进行单元测试?

ios - 在单元测试中,将模拟值设置为参数(按引用传递)

ios - 如何使用 OCMock 测试 UIAlertAction 处理程序的内容

objective-c - Objective-C 如何进行深度复制

iphone - iOS 中的 CSV 逐行解析

javascript - 如何使用 Jest 模拟构造函数状态初始化

python - 在测试用例中使用 django-reversion 时如何为测试对象创建初始修订

ios - 在 iOS 单元测试中测试异步调用

ios - 如何在表格 View 中隐藏行。隐藏索引后应该不会改变 iOS

objective-c - 将 NSString 转换为 NSNumber 会导致数字过多和奇怪的舍入