2014-09-18 52 views
0

我有一个用于测试目的的宏,它创建一个导航控制器,将其设置为主窗口的根视图控制器,并将正在测试的视图控制器放置在导航控制器内。如何使用猕猴桃未编程的方法

我也想每次调用pushViewController:animated:将动画参数改为NO

我该如何做到这一点?

我尝试使用stub:withBlock:,然后在视图控制器被按下(params [0])和NO的情况下在块内调用pushViewController:animated:,但这会导致无限循环。

还有stub:withArguments:,但在这种情况下,我没有提及视图控制器被推动,因为它是一个在几个地方使用的宏。

我能想到的唯一方法是使用stub:withBlock:并在块内移除存根,通常会调用pushViewController:params[0]:NO但我找不到方法来移除存根。

任何帮助?

回答

0

猕猴桃的存根功能并不是真的被设计来做到这一点。

主要有两种东西它是:

  • 从系统的其余部分在测试隔离代码(通过用假的代替方法实现)
  • 作出断言有关的API合同系统中的对象

如果您想全局更改方法的默认行为,我认为您所追求的是更通用的方法 - 混合解决方案。猕猴桃的存根功能可能部分通过调配来实现,但它是一个更加集中的工具。

相关问题