gpt4 book ai didi

ruby-on-rails - 未定义的方法 `receive_message_chain'

转载 作者:行者123 更新时间:2023-12-01 23:01:50 27 4
gpt4 key购买 nike

令人惊讶的是找不到任何关于此的信息。

尝试对这一系列方法进行 stub :

Twitter::REST::Client.new(<some credentials>).user.followers_count

我真正想做的是:

allow_any_instance_of(Twitter::REST::Client).to receive_message_chain(:user, :followers_count).and_return 0

但是没有成功。出现错误未定义的方法'receive_message_chain'

所以我在 Rspec-Mocks 3.0 上找到了这个教程:https://github.com/rspec/rspec-mocks/blob/master/features/method_stubs/receive_message_chain.feature

并尝试了这个:

subject = Twitter::REST::Client
allow(subject).to receive_message_chain(:user, :followers_count).and_return 0
expect(Twitter::REST::Client.new.users.followers_count).to eq 0

只是想尝试一下 - 但它也不起作用。我有什么做错的地方吗?

我的 Gemfile.lock 中确实有 rspec-mocks (3.0.0.beta1)

其他类型的 stub (例如 .to receive(:method) 工作正常。

最佳答案

方法 receive_message_chain 是在 3.0.0.beta2 中引入的,如 https://github.com/rspec/rspec-mocks/blob/master/Changelog.md#300beta2--2014-02-17 中所述。 ,因此如果您升级 rspec-mocks 版本(当前为 3.0.0.rc1),您应该可以接受该语法。

关于ruby-on-rails - 未定义的方法 `receive_message_chain',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23969040/

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