mde*_*ere 3 rspec ruby-on-rails chaining
我对 Rspec 真的很陌生,并试图找到我的答案,但它一直指向我使用 stub_chain,但它似乎在 Rspec3 上已被弃用。我有以下我想存根:
active_automation = Client.automation_active_status.new_client
Run Code Online (Sandbox Code Playgroud)
其中 Client 是我的模型,automation_active_status是我的 Client 模型中的以下内容
scope :automation_active_status, -> { where(automation_status: true) }
Run Code Online (Sandbox Code Playgroud)
new_client 是我想调用以进一步过滤我的结果的属性
我试图实现 stub_chain 但这没有用。我的目标是使以下内容起作用:
Client.any_instance( black_box_I_can_not_figure_out ).returns[something]
Run Code Online (Sandbox Code Playgroud)
谢谢你。
我相信您可能正在寻找allow和receive_message_chain。
allow(Client).to receive_message_chain(:automation_active_status, :new_client) { [thing_to_return] }
Run Code Online (Sandbox Code Playgroud)
这将存根允许它的方法,并返回您传递它的块中的任何内容。希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
151 次 |
| 最近记录: |