首页 文章

是否有可用于Objective-C的测试 Spy 库?

提问于
浏览
3

我想采用BDD方法在iOS项目中进行单元测试,我只是意识到可能没有现有的库提供test spy品种的测试双打 . 理想情况下,我正在寻找类似MockitoJasmineRR的东西 .

在我开始花一个星期的空闲时间编写测试 Spy 库之前,我想我先在SO上提出这个问题 .

到目前为止,我已经看过OCMockKiwi,但它们似乎都是传统的high-specification-by-default mocking frameworks,需要在arrange phase, prior to the act phase中设置期望断言 . 显然,这妨碍了我对美丽的嵌套规范的看法(我计划在KiwiCedar中进行创作) .

1 回答

  • 2

    刚看到这个 .

    奇异果现在绝对不会这样做 . 你是对的,其中的模拟是为行动阶段之前的安排而建造的 .

    继续前进,虽然乍一看,似乎添加 Spy 功能的基础知识不需要太多的再造 . 进入模拟的每条消息(禁止某些实现重要的保留选择器)都会通过 -[KWMock forwardInvocation:] .

    本质上,需要修改当前的 -[KWMock forwardInvocation:] 来记录/复制通过它的所有调用,而不是现在的调用 . 这将是原始功能,通过查询记录的调用,可以在以后验证期望 . 当然,提出一个很好的可读形式进行验证也不是一件轻而易举的事 .

    Spy /模拟仍然需要知道它所代表的类/协议 . 这样就可以为发送给它的消息选择器生成有效的方法签名,允许运行时转发机制生成将被转发的实际NSInvocation .

    我现在专注于其他事情以获得实施,但我很乐意回答更多问题或合并任何拉动请求 . HTH .

相关问题