2012-08-13 112 views
0

我想存根一个有块参数的方法。带块参数的存根方法

[[[myMock stub] andCall:@selector(performBlock:) onObject:self] performBlock:[OCMArg any]]; 

该块是一个简单的类型。

typedef void (^MyBlock)(void); 

在执行时,我得到以下错误:

unexpected method invoked: performBlock:<__NSStackBlock__: 0xbffff418> 
        stubbed: performBlock:<OCMAnyConstraint: 0x1c1ff70> 

这似乎为一个块的说法是不兼容[OCMArg any]。任何tipps如何残留这种方法呢?

+1

绝对打桩使用块参数和'[OCMock任何]'。你可以多发一点你的测试用例吗? – 2012-08-13 16:52:55

+0

谢谢你尝试。我认为我已经解决了这个问题,但它肯定存在于其他地方。当我下次工作时,我会发布更多信息。 – fabb 2012-08-13 19:38:54

回答

0

好吧,我已经裁剪了太多从我的例子。 我有bool类型的第二个参数,它与[OCMArg any]不兼容。

更糟糕的是:你没有得到一个编译器,它警告,除非你使用BOOL,而不是...