我正在使用 OCMock 来帮助我使用 Xcode 为 iPad 应用程序做的测试驱动开发。我有这样的测试代码:
id mock = [OCMockObject mockForProtocol:@protocol(SomeProtocol)];
Vector direction = { 1.0f, 2.0f, 3.0f };
[[mock expect] setDirection:direction];
当我尝试编译时,我收到如下警告和错误:
警告:找到多个名为“setDirection:”的方法
错误:将“向量”发送到不兼容类型
“UISwipeGestureRecognizerDirection”的参数(又名“枚举 UISwipeGestureRecognizerDirection”)
显然,编译器无法确定 mock 应该是什么类型的对象。我不确定如何指定它应该处理来自 SomeProtocol 协议的 setDirection 方法,而不是来自另一个类的 setDirection 方法。
可以做些什么来成功构建这样的测试用例?