Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使用猕猴桃取消发布方法_Ios_Kiwi - Fatal编程技术网

Ios 如何使用猕猴桃取消发布方法

Ios 如何使用猕猴桃取消发布方法,ios,kiwi,Ios,Kiwi,我有一个宏用于测试,它创建了一个导航控制器,将其设置为主窗口的根视图控制器,并将要测试的视图控制器放在导航控制器中 我还想为每次调用pushViewController:animated:将动画参数更改为NO 我怎样才能做到这一点 我尝试使用stub:withBlock:并在块内调用pushViewController:animated:,将视图控制器按参数[0]和“否”,但这会导致无限循环 还有存根:withArguments:但在这种情况下,我没有对正在推送的视图控制器的引用,因为它是一个在

我有一个宏用于测试,它创建了一个导航控制器,将其设置为主窗口的根视图控制器,并将要测试的视图控制器放在导航控制器中

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

我怎样才能做到这一点

我尝试使用stub:withBlock:并在块内调用pushViewController:animated:,将视图控制器按参数[0]和“否”,但这会导致无限循环

还有存根:withArguments:但在这种情况下,我没有对正在推送的视图控制器的引用,因为它是一个在多个地方使用的宏

我能想到的唯一方法是使用stub:withBlock:并在块内部删除stub,然后通常调用pushViewController:params[0]:否,但我找不到删除stub的方法


有什么帮助吗?

Kiwi的存根功能并不是专门为此设计的

它有两个主要用途:

通过将方法实现替换为伪方法实现,将测试中的代码与系统的其余部分隔离开来 断言系统中对象之间的API契约 如果您想全局更改方法的默认行为,我认为您所追求的是一个更通用的方法swizzling解决方案。Kiwi的存根功能可以通过swizzling部分实现,但它是一个更为集中的工具