我試圖嘲弄具有以下特徵的等效的方法:我希望它返回一個小字典,這樣我的測試可以確保該代碼使用字典正確我如何模擬一個接受一個句柄作爲OCMock中的參數的方法?
- (NSDictionary *) uploadValues:(BOOL)doSomething error:(NSError **)error
。然而,無論我做什麼,OCMock總是從方法返回零,無論我如何將它存根出來。錯誤開始在我測試的代碼爲零,而這些不同的方法我試過磕碰它:
NSError * error = nil;
[[[mock stub] andReturn:someDict] uploadValues:YES error:&error];
[[[mock stub] andReturn:someDict] uploadValues:YES error:nil];
[[[mock stub] andReturn:someDict] uploadValues:YES error:[OCMArg any]];
和他們沒有工作。 OCMock是否支持處理爲存根消息參數,如果是這樣,那麼執行此操作的正確方法是什麼?
是啊,這是有道理的。感謝您的洞察力。 – Kevlar 2009-12-10 05:50:39
使用和提供接受NSError的方法**是Cocoa中的首選錯誤處理機制。我建議堅持這種模式,並看看AndreasJärliden的模擬這些方法的答案。 – rluba 2011-08-17 06:40:23
請參閱下面的AndreasJärliden的答案。你的回答不正確。 – markshiz 2013-02-08 18:54:53