[rspec-users] how can this pass?
Matías Flores
mflores at atlanware.com
Sun Feb 8 21:09:43 EST 2009
2009/2/8 Sergio Bayona <lists at ruby-forum.com>
> how could this test pass?
>
> I have:
>
> class PropertiesController < ApplicationController
> def show
> @property = Property.non_existing_method #causes a method missing
> error
> end
> end
>
>
> describe PropertiesController do
> def mock_property(stubs={})
> @mock_property ||= mock_model(Property, stubs)
> end
>
> describe "responding to GET show" do
> it "should expose the requested property as @property" do
>
> Property.should_receive(:non_existing_method).and_return(mock_property)
> get :show, :id => "37"
> assigns[:property].should equal(mock_property)
> end
> end
> end
>
> SB-MacBook-Pro:test sb$ ruby
> ./spec/controllers/properties_controller_spec.rb
> .
>
> Finished in 0.134667 seconds
>
> 1 example, 0 failures
>
>
> why zero failures? more specifically, why would :non_existing_method
> return mock_property? and why would the assigns[:property] be equal to
> mock_property?
Because that's what you're saying with your and_return call above. The
and_return method is not part of the expectation: it allows you to specify
what value you want to be returned each time the expected message is
received.
You can find more info at
http://rspec.info/documentation/mocks/message_expectations.html.
Regards,
Matías A. Flores
> did I eat some bad mushrooms?
>
> Sergio
> --
> Posted via http://www.ruby-forum.com/.
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20090209/7c2d70e4/attachment.html>
More information about the rspec-users
mailing list