2014-09-18 54 views
0

我有一個用於測試目的的宏,它創建一個導航控制器,將其設置爲主窗口的根視圖控制器,並將正在測試的視圖控制器放置在導航控制器內。如何使用獼猴桃未編程的方法

我也想每次調用pushViewController:animated:將動畫參數改爲NO

我該如何做到這一點?

我嘗試使用stub:withBlock:,然後在視圖控制器被按下(params [0])和NO的情況下在塊內調用pushViewController:animated:,但這會導致無限循環。

還有stub:withArguments:,但在這種情況下,我沒有提及視圖控制器被推動,因爲它是一個在幾個地方使用的宏。

我能想到的唯一方法是使用stub:withBlock:並在塊內移除存根,通常會調用pushViewController:params[0]:NO但我找不到方法來移除存根。

任何幫助?

回答

0

獼猴桃的存根功能並不是真的被設計來做到這一點。

主要有兩種東西它是:

  • 從系統的其餘部分在測試隔離代碼(通過用假的代替方法實現)
  • 作出斷言有關的API合同系統中的對象

如果您想全局更改方法的默認行爲,我認爲您所追求的是更通用的方法 - 混合解決方案。獼猴桃的存根功能可能部分通過調配來實現,但它是一個更加集中的工具。

相關問題