Note that there are some explanatory texts on larger screens.

plurals
  1. POGetting spork to work with Ruby 1.9.2/3 + Rails 3.1 + Rspec?
    primarykey
    data
    text
    <p>There's quite a few solid tutorials out there, and I haven't had too much trouble getting this working in the past. But, after hours of trying, I must be missing something. </p> <p>I've completed the standard installation instructions, and started up the spork server:</p> <pre><code>Using RSpec Preloading Rails environment Loading Spork.prefork block... Spork is ready and listening on 8989! </code></pre> <p>Looking good.</p> <p>Then, I hop over to a new tab and run my specs:</p> <pre><code>$ rspec spec </code></pre> <p>This command returns nothing after running for only a split second. So I jump back to the spork server to see what happened and get:</p> <pre><code>Using RSpec Preloading Rails environment Loading Spork.prefork block... Spork is ready and listening on 8989! Running tests with args ["--color", "spec"]... Exception encountered: #&lt;DRb::DRbConnError: druby://localhost:56736 - #&lt;Errno::ECONNREFUSED: Connection refused - connect(2)&gt;&gt; backtrace: /Users/briancody/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/drb/drb.rb:736:in `rescue in block in open' /Users/briancody/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/drb/drb.rb:730:in `block in open' /Users/briancody/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/drb/drb.rb:729:in `each' /Users/briancody/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/drb/drb.rb:729:in `open' /Users/briancody/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/drb/drb.rb:1191:in `initialize' /Users/briancody/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/drb/drb.rb:1171:in `new' /Users/briancody/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/drb/drb.rb:1171:in `open' /Users/briancody/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/drb/drb.rb:1087:in `block in method_missing' /Users/briancody/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/drb/drb.rb:1105:in `with_friend' /Users/briancody/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/drb/drb.rb:1086:in `method_missing' /Users/briancody/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/drb/drb.rb:1074:in `respond_to?' /Users/briancody/.rvm/gems/ruby-1.9.3-p0@scholastica/gems/spork-0.9.0.rc9/lib/spork/run_strategy/forking.rb:10:in `block in run' /Users/briancody/.rvm/gems/ruby-1.9.3-p0@scholastica/gems/spork-0.9.0.rc9/lib/spork/forker.rb:21:in `block in initialize' /Users/briancody/.rvm/gems/ruby-1.9.3-p0@scholastica/gems/spork-0.9.0.rc9/lib/spork/forker.rb:18:in `fork' /Users/briancody/.rvm/gems/ruby-1.9.3-p0@scholastica/gems/spork-0.9.0.rc9/lib/spork/forker.rb:18:in `initialize' /Users/briancody/.rvm/gems/ruby-1.9.3-p0@scholastica/gems/spork-0.9.0.rc9/lib/spork/run_strategy/forking.rb:9:in `new' /Users/briancody/.rvm/gems/ruby-1.9.3-p0@scholastica/gems/spork-0.9.0.rc9/lib/spork/run_strategy/forking.rb:9:in `run' /Users/briancody/.rvm/gems/ruby-1.9.3-p0@scholastica/gems/spork-0.9.0.rc9/lib/spork/server.rb:48:in `run' /Users/briancody/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/drb/drb.rb:1548:in `perform_without_block' /Users/briancody/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/drb/drb.rb:1508:in `perform' /Users/briancody/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/drb/drb.rb:1586:in `block (2 levels) in main_loop' /Users/briancody/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/drb/drb.rb:1582:in `loop' /Users/briancody/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/drb/drb.rb:1582:in `block in main_loop' Done. </code></pre> <p>For some reason, <code>drb</code> is failing to connect? I've googled like crazy, but there just doesn't seem to be anything helpful out there.</p> <p><strong>Some possible clues</strong></p> <ul> <li>The port (in this case <code>56736</code>) changes every time I attempt to run the suite</li> <li>I get the same result on both ruby 1.9.2 and ruby 1.9.3</li> <li>I'm using a mac (snow leopard) and firewalls are disabled</li> <li>I've tried it on a totally different mac (also snow leopard) with the same result.</li> <li>I'm using the latest version of cucumber, rspec, and spork.</li> <li>I also setup cucumber spork and it failed the same way.</li> </ul> <p>As you can see, I've been banging away at it for a while. My project uses a lot of gems and not having spork makes testing really, really terrible. Please help...</p> <p><strong>UPDATE</strong></p> <p>Here's my <code>spec_helper</code>:</p> <pre><code>require 'spork' Spork.prefork do ENV["RAILS_ENV"] ||= 'test' require File.expand_path("../../config/environment", __FILE__) require 'rspec/rails' require "email_spec" require 'webmock/rspec' require 'vcr' require 'database_cleaner' include Devise::TestHelpers include EmailSpec::Helpers include EmailSpec::Matchers # Stub all updates to search indexes class Profile def update_tank_indexes ; end def delete_tank_indexes ; end end class Journal def update_tank_indexes ; end end # Apparently rspec doesn't understand &lt;tt&gt;main_app&lt;/tt&gt; so stub it out. def main_app ; self ; end # Requires supporting ruby files with custom matchers and macros, etc, # in spec/support/ and its subdirectories. Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f} RSpec.configure do |config| config.mock_with :rspec # If you're not using ActiveRecord, or you'd prefer not to run each of your # examples within a transaction, remove the following line or assign false # instead of true. config.use_transactional_fixtures = true config.extend VCR::RSpec::Macros # Always clean the database after running describe/context blocks to ensure a # consistent state. This is especially important when using the &lt;tt&gt;rspec-set&lt;/tt&gt; # method. This method creates setup object once -- and only once -- proir to # running an entire describe/context block. In this way, it's similar to using # &lt;tt&gt;before(:all)&lt;/tt&gt; except that &lt;tt&gt;set&lt;/tt&gt; is better because: # # * It automatically reloads the object before each example, making it much # safer than before(:all) which can cause bugs if you're not careful. # * It's lazily evaluated. # # You can read more at: # # * eggsonbread.com/2010/05/25/speed-up-your-specs-with-set/ # * github.com/pcreux/rspec-set # # Note: This is not part of default configuration. Be sure to retain this snippet # when upgrading. # DatabaseCleaner.strategy = :truncation config.before(:all) do DatabaseCleaner.clean end config.after(:suite) do DatabaseCleaner.clean end end end Spork.each_run do # This code will be run each time you run your specs. end </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload