Loa*_*dex 6 unit-testing objective-c ocmock nsbundle xctest
我最近使用OCMock进行单元测试.我需要将objectForInfoDictionaryKey:方法存根
NSBundle.我做了以下事情:
self.bundleMock = OCMClassMock([NSBundle class]);
OCMStub([self.bundleMock objectForInfoDictionaryKey:@"GITHash"]).andReturn(@"c424242");
;
Run Code Online (Sandbox Code Playgroud)
这是我想要存根的电话:
NSString * appHashString = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"GITHash"];
Run Code Online (Sandbox Code Playgroud)
但似乎没有任何东西存在,在运行时我仍然有"正确"的价值.
我做错了什么 ?
我可能会记错,但我认为你需要用来partialMockForObject模拟返回的实例[NSBundle mainBundle],而不是模拟类,NSBundle因为它objectForInfoDictionaryKey是一个实例方法,而不是类方法.
| 归档时间: |
|
| 查看次数: |
538 次 |
| 最近记录: |