В моей спецификации контроллера я делаю это:
it "should create new message" do
Client.should_receive(:create).with({:title => 'Mr'})
post 'create' , :client => {:title => "Mr" }
end
... и в моем контроллере я делаю...
def create
client = Client.create(params[:client])
end
Однако это перестало работать со следующим сообщением об ошибке:
expected: ({:title=>"Mr"})
got: ({"title"=>"Mr"})
Я задаюсь вопросом, почему это происходит и как заставить это работать
Это потому, что вы проходите символ и не строку. Это должно исправить это:
it "should create new message" do
Client.should_receive(:create).with({:title => 'Mr'})
post 'create' , :client => {"title" => "Mr" }
end
Вот блогпост об этом: « понимание символов Ruby »