OCMock Objective-C模拟
模拟对象的老牌利器 OCMock,写单元测试省心。你要是还在手写 stub 和 mock,真的太低效了,直接上 OCMock,效率蹭蹭往上涨。
OCMock 的动态运行时能力挺强,能直接模拟Objective-C 类、对象,甚至是部分方法调用,基本覆盖你 90%的测试需求。不需要改动原始代码,调用方式也简单直白。
比如你想 mock 一个NSURLConnection
去绕过实际网络求,用OCMStub
就能轻松搞定:
id mockConn = OCMClassMock([NSURLConnection class]);
OCMStub([mockConn sendSynchronousRequest:[OCMArg any] returningResponse:nil error:nil])
.andReturn(mockResponse);
最适合配合XCTest用来写单元测试,响应也快,出错信息也直观。如果你写的是业务代码比较重的 APP,那种 Model 层逻辑复杂的,OCMock 挺合适。
了,OCMock 不是万能的,不支持 C 函数 mock 也不太好 block,但应付大部分场景还是没问题的。用之前,记得看看项目里是不是用了 ARC,配置上稍微注意一下就行。
如果你想进一步了解 Objective-C 对象的创建机制,可以看看这篇文章,讲得也挺细。
,写单测不头疼,模拟对象不费劲,OCMock 算是 Objective-C 老用户不能错过的一个工具了。如果你刚好在搞 iOS 老项目,真的可以试试。
2.67MB
文件大小:
评论区