2012-08-13 68 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,而不是...