[rspec-users] autospec fails but rake spec tasks pass

Scott Taylor scott at railsnewbie.com
Mon Mar 30 11:48:16 EDT 2009


On Mar 27, 2009, at 4:38 PM, jakepaul wrote:

>
> I can't figure out what is causing this problem. I'm using the  
> latest rspec
> and rspec-rails gems on rails 2.3.2.
>
> When I run autospec, the tests in the model spec that I am editing  
> will all
> fail. The error messages are like this:
>
> ActiveRecord::RecordInvalid in 'Job new record should create a new  
> record
> given valid attributes'
> Validation failed:
>
> (Nothing after Validation Failed:, just blank). It doesn't matter what
> attributes I pass to create the new model, and it doesn't matter if  
> I do it
> using a regular create! method or using Machinist, the same error  
> happens.
>
> Now, if I make a change, autospec will run the specs from that one  
> model
> spec again, and they will all pass. Then it runs all of my specs  
> again and
> that's when the specific spec I'm editing fails (only when it runs  
> all the
> specs). When I run rake spec:models or rake spec:controllers,  
> everything
> passes as it should. So I figured it might have something to do with  
> the
> controller specs, and if I remove those, autospec passes again. Then  
> if I
> put the controller specs back, autospec still passes. It only starts  
> failing
> if I again edit the model specs.
>
> This is happening in multiple models, not just one. It's making it
> impossible to work with, so I'd really appreciate any thoughts you  
> might
> have. Thank you!
>

Your problem is one of load order.

I'd suggest running the debugger at the start of your failing spec:

it "should ..." do
   require 'rubygems'; require 'ruby-debug'; debugger

   ...
end

Run the specs in the failing case, and debug from there.

Scott


More information about the rspec-users mailing list