gpt4 book ai didi

ruby-on-rails - 使用 Rspec stub 链式方法

转载 作者:数据小太阳 更新时间:2023-10-29 06:43:20 30 4
gpt4 key购买 nike

我想调用一个只会返回一条记录的 named_scope,但 named_scope 会返回一个数组,这没什么大不了的,因为我可以将它与 .first 链接起来:

Model.named_scope(param).first

这行得通,我正在努力解决的问题是如何对链接的调用进行 stub 。有没有人对我如何使用 Rspec 模拟实现这一点有引用或答案?

最佳答案

我想通了。

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

这允许我调用我的 Controller :

@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 的细节:)

关于ruby-on-rails - 使用 Rspec stub 链式方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/664755/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com