我使用OCMock来帮助测试驱动开发我正在为使用Xcode的iPad应用程序进行测试。我有测试这样的代码:编译器混淆模拟对象
id mock = [OCMockObject mockForProtocol:@protocol(SomeProtocol)];
Vector direction = { 1.0f, 2.0f, 3.0f };
[[mock expect] setDirection:direction];
当我尝试编译,我得到警告和错误是这样的:
warning: multiple methods named 'setDirection:' found
error: sending'Vector' to parameter of incompatible type
'UISwipeGestureRecognizerDirection' (aka 'enum UISwipeGestureRecognizerDirection')
显然编译器不能确定什么类型的对象的模拟应该是。我不知道如何指定它应该处理来自SomeProtocol协议的setDirection方法,而不是来自另一个类的setDirection方法。
可以做些什么来使这样的测试案例成功?