Objective-C模拟测试库
OCMock 是一个面向 Objective-C 的 mock object 测试框架,主要用于 iOS 与 OS X/macOS 项目的单元测试。它让测试代码可以用 mock 对象替代真实依赖,并通过 stub 返回指定值、通过 verify 验证方法是否被调用,从而隔离外部依赖并检查交互行为。
从抓取内容看,OCMock 的核心能力比较完整:支持实例方法和类方法的 stub/expect/verify;支持 dynamic mocks 验证交互;支持 partial mocks,在已有对象上覆盖少数方法,其余方法继续走真实实现;也支持 protocol mocks、observer mocks、参数匹配、非对象参数忽略、异常抛出、通知发布、调用转发以及 block 处理 invocation。对于 Objective-C 测试中常见的 NSUserDefaults、通知中心、类方法替换等场景,文档均给出了示例。
集成方式包括下载 release、iOS test target 添加 static library、OS X/macOS test target 添加 OCMock.framework,也可使用 Carthage 或 CocoaPods。API 以 Objective-C 形式暴露,例如 OCMClassMock、OCMStub、OCMVerify、OCMPartialMock 等。文档质量较好,既有短版入门,也有 OCMock 2 feature reference,并提到新 reference、getting started、用户教程等资源;问题支持主要指向 StackOverflow 的 ocmock 标签。
正文没有提及收费、订阅、商业授权或企业支持,也没有明确说明开源许可证。因此只能判断它更像本地开发依赖库,而非 SaaS 产品;具体授权和费用仍需查看下载页或代码仓库。
优点是功能覆盖 Objective-C mock 测试的多数细分场景,尤其是类方法 mock、partial mock 和通知验证;集成方式也符合传统 iOS/macOS 工程习惯。局限在于文本未显示 Swift 原生支持;partial mocks 对 NSString 等 toll-free bridged classes 有限制;类方法 mock 若未正确释放可能跨测试残留,多个 mock 同时操作同一类行为未定义。它最适合维护 Objective-C 代码库、需要提高单元测试隔离度的 iOS/macOS 团队。
抓取正文未提供网络访问、镜像、支付或国内可用性信息,暂评为未知。若访问官网或依赖源不稳定,可考虑通过 CocoaPods/Carthage 的可用镜像、源码缓存,或评估 OCMockito、Cuckoo、Mockingbird 等替代方案。
本测评基于公开资料整理,不构成购买建议,请以 ocmock.org 官网实际信息为准。
老牌开源Mock框架,适合iOS/Objective-C测试。
评分明细(分布与用户短评)接入中。当前展示 TG4G 综合评分,数据源自公开测评与用户反馈。