On May 26, 2009, at 3:06 PM, Ben Mabey wrote:

Scott Taylor wrote:

On May 26, 2009, at 2:31 PM, Ben Mabey wrote:

Scott Taylor wrote:

On May 26, 2009, at 1:22 PM, Mark Wilden wrote:

On Sun, May 24, 2009 at 10:17 PM, Ben Mabey <b...@benmabey.com <mailto:b...@benmabey.com >> wrote:


  Well, so Spork was really created with testing in mind.  It is
  more general purpose than spec_server though.  You can use it
  with any Ruby project, not just Rails.  You can also potentially
  use it with any other testing framework that adds support for it
  (I've been meaning to do this for Cucumber).  I know that Tim's
  original work with Kernel.fork was actually dealing with Mongrel
  but I'm not sure what the exact details of it are.  I'll try to
  find out for you though.


Spork seems to have the same problem that I have with spec_server: it doesn't reload classes I change. So if I'm doing TDD between a model and its spec, it doesn't help.

I noticed the same thing.  It must be a bug in spork, correct?

Scott

What does your spec_helper look like?

It should be something like:

require 'rubygems'
require 'spork'

Spork.prefork do
ENV["RAILS_ENV"] = "test"
require File.expand_path(File.dirname(__FILE__) + "/../config/ environment") # Load other stuff that only needs to be setup once and never reloaded (i.e. rspec and configuring it)
end

Spork.each_run do
ActiveRecord::Base.establish_connection # make sure that the db connection is ready. require File.expand_path(RAILS_ROOT + "/spec/fixjour_builders.rb") # You could use FixtureReplacement, FactorGirl, etc...
Spec::Runner.configure do |config|
 config.include Fixjour
 include SharedSpecHelpers
 include DatabaseHelpers
 include AuthenticatedTestHelper
end
end



Keep in mind that the code in Spork.prefork must not require any of your models inadvertently. If your environment file does this or a plugin does then your models will not be reloaded. Look over your spec_helper file and try to see who is requiring your models initially. We have really only tested this on is our apps where Tim and I work... So, there could very well be bugs we need to iron out.

Sweet!  Seems to be working great now.

Looks like the README has changed over the weekend - previously, I had been starting the spec server with script/spec_server. Running spork directly seems to work just fine.

Thanks a TON!

Scott



Ok cool. Seems like the bug may of been poor documentation... please send a pull request if you think it can be improved. :)

BTW:

https://rspec.lighthouseapp.com/projects/5645-rspec/tickets

Scott

_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to