gpt4 book ai didi

ruby - stub (...) 收到带有(无参数)的意外消息 (...)

转载 作者:数据小太阳 更新时间:2023-10-29 08:39:02 25 4
gpt4 key购买 nike

我尝试使用 RR 编写测试。我需要的是模型对象的 stub 。

describe ApplicationController do

subject(:application_controller) { ApplicationController.new }
let(:messages) { ['a1', 'a2', 'a3' ] }
let(:model) { Object.new }

it 'should copy errors to flash' do
stub(model).error_messages { messages }
flash[:error] == nil
subject.copy_errors_to_flash(model)
flash[:error].should == messages
end

end

我得到的是

ApplicationController should copy errors to flash
Failure/Error: stub(model).error_messages { messages }
Stub #<Object:0x007ffaa803f930> received unexpected message :error_messages with (no args)
# ./spec/controllers/application_controller_spec.rb:10:in `block (2 levels) in <top (required)>'

我不知道我做错了什么。我想我遵循了文档...

最佳答案

您在该行的模型 stub 上调用方法“error_messages”:

stub(model).error_messages { messages }

我假设你真的想在这里做一些其他的事情,很可能是:

model.should_receive(:error_messages).and_return(messages)

它为 error_messages 创建一个 stub 方法,并在您的规范测试调用 model.error_messages 时用您的消息数组响应

关于ruby - stub (...) 收到带有(无参数)的意外消息 (...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16034960/

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