On Wed, Oct 8, 2008 at 6:42 PM, Wes Gamble <[EMAIL PROTECTED]> wrote: > David Chelimsky wrote: >> >> On Wed, Oct 8, 2008 at 3:41 PM, Wes Gamble <[EMAIL PROTECTED]> wrote: >> >>> >>> Zach, >>> >>> Zach Dennis wrote: >>> >>>> >>>> # This file is copied to ~/spec when you run 'ruby script/generate >>>> rspec' >>>> # from the project root directory. >>>> ENV["RAILS_ENV"] = "test" >>>> require File.expand_path(File.dirname(__FILE__) + >>>> "/../config/environment") >>>> require 'spec' >>>> require 'spec/rails' >>>> >>>> >>> >>> This is exactly what the top of my spec_helper.rb file looks like. >>> >>> I have several specs, and the success of running them is different >>> depending >>> on what I do. I'm really just trying to figure out how to take advantage >>> of >>> the "rake spec" task. >>> I'm on Windows XP. Rails 2.1.0. Rspec and Rspec-Rails 1.1.8 gems. No >>> Rspec plugins. Freshly generate rspec stuff using "ruby script/generate >>> rspec" >>> >>> 1) If I run each of my specs separately on the command line using "spec >>> spec/whatever.rb" they run fine. >>> >>> 2) If I run "spec spec/*spec.rb", then all _but one_ run without error >>> (note >>> that the one that files can be run successfully using a direct call to it >>> as >>> in #1 above). >>> >>> 3) If I run "rake spec", I get multiple failures, all because the >>> config/environments/test.rb file is not loaded (I know this because they >>> fail due to the lack of a variable that is set only in test.rb). The >>> spec >>> that failed in #2 works in this case. >>> >>> 4) If I run "rake spec RAILS_ENV=test", all _but one_ run without error >>> (same error as in #2). >>> >>> I draw the following conclustions: >>> >>> 1) I only get the color output if I use "rake spec" (not sure why) >>> >>> 2) spec loads test.rb by default, but "rake spec" does not and that's why >>> I >>> have to pass RAILS_ENV=test to the "rake" command. >>> >> >> What is test.rb? >> > > config/environments/test.rb - has test specific stuff set in it. >> >> As for getting different results if you run files individually, with >> the spec command or with the rake command, that is *usually* a sign >> that there is some state leaking between examples. 'rake spec' and >> 'spec spec' don't load the files in the same order, so the fact that >> you also get different failures from each of those also supports this >> theory in your case. >> > > I agree with this although it is still unclear to me what the state problems > are.
Based on the other thread you started about the environment - it might be the lack of environments/test.rb being loaded (rather than a state problem). Make sure every _spec.rb file requires spec_helper.rb and see if that solves the problem. Cheers, David > > Thanks, > Wes > _______________________________________________ > rspec-users mailing list > [email protected] > http://rubyforge.org/mailman/listinfo/rspec-users > _______________________________________________ rspec-users mailing list [email protected] http://rubyforge.org/mailman/listinfo/rspec-users
