2014-04-18 31 views
0

我使用猕猴桃进行测试,当我尝试存根类方法[GAI sharedInstance]时,它不起作用。下面是我在做什么:在iOS中,如何使用Kiwi存储Google AnalyticsSDK的[GAI sharedInstance]?

NSObject *gaiMock = [KWMock nullMock]; 
[GAI stub:@selector(sharedInstance) andReturn:gaiMock]; 

当我这行代码后突破并在控制台相比,这里是我得到:

(lldb) po [GAI sharedInstance] 
<GAI: 0x10c42d940> 

(lldb) po gaiMock 
<KWMock: 0x112926600> 

我在做什么错?

回答

0

您是否尝试过swizzling [GAI sharedInstance]? Swizzling从来不是一个理想的解决方案,但在这种情况下可能会有所帮助。在Kiwi测试文件的顶部创建一个GAI类别,并覆盖sharedInstance方法。

+0

好主意,我必须尝试。但我仍然不明白为什么我正在做的不工作。是否因为我试图存储一个静态库的方法? – guptron

0

尝试[GAI stub:@selector(sharedInstance)...],因为存根方法将在类对象上工作,就像它们在实例上一样。

相关问题