ocmock用来虚拟类及方法的调用。正常情况可以不需要此mock,但在特殊情况下可以进行mock以跳过某些步骤。
安装
source 'https://github.com/CocoaPods/Specs.git'
target 'MockDemoTests' do
pod 'OCMock' #在test target下使用
end
使用
- 生成Mock对象
- OCMClassMock
优先调用stub实例方法,未找到调用stub类方法,不调用原来方法。
- OCMPartialMock
优先调用stub实例方法,不能调用stub类方法,否则调用原来的实例方法,不能调用原来类方法,不满足条件无法验证通过。
- OCMStrictClassMock
只能调用stub方法,否则OCMVerifyAll(mockA)会抛出异常。
- 置换方法
调用该方法不会走具体的实现,直接使用return值替换
id xxxClass = [OCMock mockForClass[XXX class]];
[OCMStub([xxxClass method:[OCMArg any])andReturn(@"")];
- 验证方法的调用
OCMVerify([mock someMethod]);
-添加预期
OCMExpect([mock handleLoadSuccessWithPerson:[OCMArg any]]);
参数约束 网络接口模拟 恢复类 参考: mp.weixin.qq.com/s/3JhgsKJ8p…