当前位置:  开发笔记 > 后端 > 正文

用Rspec连接链式方法

如何解决《用Rspec连接链式方法》经验,为你挑选了1个好方法。

我想调用一个只返回一条记录的named_scope,但是named_scope返回一个数组,这不是什么大问题,因为我可以用.first链接它.

Model.named_scope(param).first

这是有效的,我正在努力的是如何存根链接的电话.有没有人有关于如何用Rspec嘲笑实现这个目标的参考或答案?



1> nitecoder..:

我想出了什么.

Client.stub!(:named_scope).and_return(@clients = mock([Client]))
@clients.stub!(:first).and_return(@client = mock(Client))

这让我可以打电话给我的控制器:

@client = Client.named_scope(param).first

它有效,但有更好的解决方案吗?

编辑:

rspec 1.2.6的发布允许我们使用stub_chain,这意味着它现在可以是:

Client.stub_chain(:named_scope, :chained_call).and_return(@clients = [mock(Client)])

这是我的头脑,因为总是检查api的具体信息:)


也许将EDIT:部分移到答案的顶部
推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有