When i use rspec(with built-in mock framework) ,errof occurs


#1

I use rspec_scaffold generate a example as below:

  it "should expose a newly created awarding_body as @awarding_body"

do
AwardingBody.should_receive(:new).with(:these
=>‘params’).and_return(mock_awarding_body(:save
=> true))

     post :create,  :awarding_body => {:these => 'params'}
    assigns(:awarding_body).should == (mock_awarding_body)
  end

after execute the example , a error occurs as below :

Mock ‘Class’ expected :new with ({:these=>“params”}) but received it
with ({“the
se”=>“params”})


#2

Everything in the params hash is a string when it comes through the
controller. If you’re passing the entire params hash to
AwardingBody.new,
the params hash looks like {‘these’ => ‘params’}. Thus, if you change
your
expectation to {‘these’ => ‘params’}, it will be satisfied.

In the future, it’s probably best to post RSpec questions to the
rspec-users
mailing list: http://rubyforge.org/mailman/listinfo/rspec-users .

Regards,
Craig