[rspec-users] Mocking models provided in Rails plugins

Pat Maddox pergesu at gmail.com
Thu Oct 18 18:45:28 EDT 2007


On 10/18/07, Dan Croak <dcroak at thoughtbot.com> wrote:
>
> Hey folks,
>
> How do I mock a model that is given to me by a Rails plugin? I'm trying to
> mock Session from the restful_authentication plugin but I get a number of
> errors telling me RSpec doesn't recognize Session.
>
> NameError in 'SessionsController handling GET /sessions/new should be
> successful'
> uninitialized constant Session
>
> An example of my usage:
>
>   before do
>     @session = mock_model(Session)
>     Session.stub!(:new).and_return(@session)
>   end
>
> Thanks!
>
> Dan Croak
> http://thoughtbot.com
> organic brains. digital solutions.
>
>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>

class Session; end

You can stick that in spec_helper.rb if you use Session in a lot of places.

I think you can also do Session.class_eval {} somewhere and that'll
load up the actual Session class instead of the dummy implementation I
just showed.  It won't use the implementation in your specs of course,
but it loads the provided class into memory.

Pat


More information about the rspec-users mailing list