从最近开始,我就使用OCMock进行单元测试。我需要从中添加objectForInfoDictionaryKey:
方法NSBundle
。我已经完成以下工作:
self.bundleMock = OCMClassMock([NSBundle class]);
OCMStub([self.bundleMock objectForInfoDictionaryKey:@"GITHash"]).andReturn(@"c424242");
;
这是我想存根的电话:
NSString * appHashString = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"GITHash"];
但是似乎没有任何问题,在运行时我仍然具有“正确”的值。
我做错什么了 ?
我可能记错了,但是我认为您需要使用partialMockForObject
模拟来返回的实例[NSBundle mainBundle]
,而不是模拟类,NSBundle
因为objectForInfoDictionaryKey
它是实例方法,而不是类方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句