2011-11-18 56 views
0

我有一个OCMock期望是这样的:为什么OCMock与我的选择器不匹配?

id myValidator = [OCMockObject mockForClass: [MyValidator class]]; 

[[myValidator expect] validateField: @"value1" 
          target: testObject 
          selector: @selector(field:isValid:)]; 

即使当我拨打电话到validateField:target:selector:在执行,验证的模拟失败。但是,如果我在实现和期望中用NULL替换选择器,则验证通过。显然,NULL不是我想要使用的。很明显,问题出在选择器的某个地方。任何想法为什么这可能无法正常工作,或者我该如何解决它?

+0

您可以显示代码如何设置模拟对象吗? –

+0

你可以发布'field:isValid:'的定义和你调用'validateField:target:selector:'的行吗? –

回答

0

我直接在我的项目中编译了源代码中的所有OCMock代码,并解决了这个问题。也许不是最好的解决方案,但它至少是一个解决方案。

0

编辑您的“其他链接器标志”为您的测试目标。添加“-ObjC -all_load”。这应该照顾它,至少这是我的无效选择器问题修复它。

+0

不幸的是我的设置已经包含这些标志。还有什么可以告诉我你的问题以及它是如何修复的? –

+0

当然,我写了一篇博客文章:http://procbits.com/2011/11/29/using-ocmock-with-mac-os-x-lion-xcode-4-to-mock-and-unit - 试验 - 可可桌面应用程序/ –

相关问题