rspec тестирование сообщения контроллера, изменяющего мои параметрические усилители от символов до строк и повреждающего мои тесты

В моей спецификации контроллера я делаю это:

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"})

Я задаюсь вопросом, почему это происходит и как заставить это работать

13
задан marcgg 2 February 2010 в 10:55
поделиться

1 ответ

Это потому, что вы проходите символ и не строку. Это должно исправить это:

it "should create new message" do
  Client.should_receive(:create).with({:title => 'Mr'})
  post 'create' , :client => {"title" => "Mr" }
end

Вот блогпост об этом: « понимание символов Ruby »

16
ответ дан 1 December 2019 в 23:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: