我最近使用OCMock进行单元测试。我需要存根
来自objectForInfoDictionaryKey:
的{{1}}方法。我做了以下事情:
NSBundle
这是我想要存根的电话:
self.bundleMock = OCMClassMock([NSBundle class]);
OCMStub([self.bundleMock objectForInfoDictionaryKey:@"GITHash"]).andReturn(@"c424242");
;
但似乎没有任何东西存在,在运行时我仍然有"正确"值。
我做错了什么?
答案 0 :(得分:6)
我可能会记错,但我认为您需要使用partialMockForObject
来模拟[NSBundle mainBundle]
返回的实例,而不是模仿类NSBundle
,因为objectForInfoDictionaryKey
是一个实例方法,而不是类方法。