Objective-C - 使用 OCMock 模拟分段控件?

标签 objective-c ios unit-testing mocking ocmock

我正在尝试 mockj 一个分段控件,但我遇到了崩溃,有什么建议吗?

NSInteger selectedSegment = 2;
id segmentedControlMock = [OCMockObject niceMockForClass:[UISegmentedControl class]];
[[[segmentedControlMock stub] andReturn:OCMOCK_VALUE(selectedSegment)] selectedSegmentIndex];

我在我的模拟对象上调用 selectedSegmentIndex 时立即崩溃:

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“预期调用具有对象返回类型。”

最佳答案

你需要使用andReturnValue:

NSInteger selectedSegment = 2;
id segmentedControlMock = [OCMockObject niceMockForClass:[UISegmentedControl class]];
[[[segmentedControlMock stub] andReturnValue:OCMOCK_VALUE(selectedSegment)] selectedSegmentIndex];

关于Objective-C - 使用 OCMock 模拟分段控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8059181/

相关文章:

ios - 用于 UITest 的简单 XCTest 总是失败?

ios - iOS 中的 IKImageBrowserView?

Java/Maven 代码覆盖率和冗余?

objective-c - 为什么在.h 文件中使用前向声明而不是#import?

objective-c - 如何在 iOS 上制作图像 "magnification"效果?

iphone - 多个 CGPoints 到 CGRect

vb.net - 使用 Moq 模拟 VB.NET 方法

iphone - 应用程序未运行时处理远程通知时崩溃

ios - 如何替换 NSMutableAttributedString 中的字符串?

unit-testing - 如何编写一个测试来检查 chai 中的多种类型