I'm currently running into the same issue and can find very little about it on the interwebs - i.e. an individual test run with `script/spec` works fine but the same test without any code changes fails when run as part of the suite via `rake spec`
This issue seemed to start out of the blue. Some background and details... Fixtures don't seem to be loading properly when run as part of the suite. When my Driver model tries to save, it runs a validation testing that the zip code entered is valid (i.e. exists in the ZipsTerritory rating table). I have the :zips_territories fixture declared in the tests with enough data in the fixture for the test to pass. The spec runs fine when executed with `script/spec` but fails when run as part of the test suite `rake spec`. The zips_territory fixture is declared properly and in before(:each) in the tests, a driver is created with FactoryGirl via a call like Factory.create(:driver). The callstack indicates the test is failing while FactoryGirl is trying to create the model. Also, for a given developer, the same set of tests fail due to this issue consistently, but the tests which fail differ across different developers. These tests had been running fine as a suite for almost two years. In trying to debug this, I stumbled across some interesting behavior. If in the before(:each) filter on the failing tests, I printed out a log message which ultimately executed "ZipsTerritory.count". After I did this, the tests would pass as part of a suite. Needing a quick fix and not having time to debug the issue further, I just did the following in the spec_helper.rb file... config.before(:each) do Rails.logger.warn "ZipsTerritory.count == #{ZipsTerritory.count}" end This worked fine for about a week before the issue popped back up again. I can't think of anything which changed in the codebase which would have triggered this problem. The app has been running rails 2.3.8 for several months. We had been using rspec 1.3.0 and rspec-rails 1.3.2 for several months. (sidenote: rspec 1.3.1 & rspec-rails 1.3.3 seem to have some sort of other bug which fails to properly call a method on a child class and somehow gets delegated to the parent class - not present in 1.3.0 & 1.3.2 rspec/rspec-rails). I've tried several version of FactoryGirl and all of those seem to trigger the issue too. My spec_helper.rb is: https://gist.github.com/0d3ea01ffe4a15f4b2b3 Does anything stand out? Has anybody else experienced this? Any ideas? Thanks, Doug On Fri, Aug 14, 2009 at 6:04 AM, Rob Aldred <rob.ald...@setfiremedia.com>wrote: > Hi, I've been trying to work this out for a while, im convinced its some > local db configuration specific to my machine. > > When running `rake spec` 14 of my test fail all of them in the user_spec > generated by restful auth. > The error for all the failing tests is: > > ActiveRecord::RecordNotFound > Couldn't find User with ID=1 > > Iv put some debugger lines and at the start of some of the tests it would > appear that the users fixture is not being loaded when running the full > suite > If I run the specific test with the spec > binary `spec spec/modes/user_spec.rb` all the fixtures are loaded and pass as > expected. > > Further more, the error is only apparent when using mysql for the test > db... > When I use sqlite for the test db the tests pass when running the whole > suite and the specific test... > > Weird... I'd like to know if anyone else has experienced this and if anyone > has any pointers > as to why the fixtures are not loaded when using mysql as the test db. > > Many thanks > Rob > > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users >
_______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users