Note that there are some explanatory texts on larger screens.

plurals
  1. POSpork and cache_classes problem with rspec, factory_girl and datamapper
    primarykey
    data
    text
    <p>I've got a problem with Spork test server.</p> <p>If I set config.cache_classes = false in config/environments/test.rb then specs start to rasie errors. </p> <pre><code>Failure/Error: task = Factory(:something, :foo =&gt; @foo, :bar =&gt; @bar) DataMapper::ImmutableError: Immutable resource cannot be modified </code></pre> <p>This is my spec_helper.rb:</p> <pre><code>require 'spork' Spork.prefork do if ENV['CODE_COVERAGE'] == '1' require 'simplecov' SimpleCov.start 'rails' end ENV["RAILS_ENV"] ||= 'test' require File.expand_path("../../config/environment", __FILE__) require 'rspec/rails' require 'webmock/rspec' require 'factory_girl' Dir[Rails.root.join("spec/controllers/shared/*.rb")].each { |f| require f } Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f } RSpec.configure do |config| config.mock_with :mocha config.include Rails.application.routes.url_helpers config.include UrlHelper config.before(:each) do repository(:default) do transaction = DataMapper::Transaction.new(repository) transaction.begin repository.adapter.push_transaction(transaction) end end config.after(:each) do repository(:default).adapter.pop_transaction.try(:rollback) end end end # This code will be run each time you run your specs. Spork.each_run do # reload factories Factory.definition_file_paths = Dir[File.join(Rails.root, "spec", "factories")] Factory.find_definitions DatabaseCleaner.strategy = :truncation DatabaseCleaner.clean LoggedEvent.all.destroy! end </code></pre> <p>When I have config.cache_classes = true, then everything works well, but It not reload me a models, controllers classes, so I don't see a point in using spork in this case.</p> <p>I tried to add to spec_helper.rb something like this, when cache is true:</p> <pre><code>Spork.each_run do Dir.glob("#{Rails.root}/app/models/*.rb").sort.each { |file| load file } end </code></pre> <p>But I don't like this solution.</p>
    singulars
    1. This table or related slice is empty.
    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