2013-04-29 11 views
7

मैं एक लंबे with this tutorial on how to test rails apps पीछा कर रहा था और मैं इस त्रुटि के पार आया था:अपरिभाषित विधि `use_transactional_fixtures

gem "rspec-rails", :group => [:test, :development] 
group :test do 
    gem "factory_girl_rails" 
    gem "capybara" 
    gem "guard-rspec" 
end 

और मेरे कॉन्फ़िग फ़ाइल इस प्रकार है के रूप में:

/home/***/***/***/spec/spec_helper.rb:27:in `block in <top (required)>': undefined method `use_transactional_fixtures=' for #<RSpec::Core::Configuration:0x9fe8824> (NoMethodError) 

मेरे जवाहरात इस प्रकार हैं

# This file is copied to spec/ when you run 'rails generate rspec:install' 
ENV["RAILS_ENV"] ||= 'test' 
require File.expand_path("../../config/environment", __FILE__) 
require 'rspec/rails' 
require 'rspec/autorun' 
require 'capybara/rspec' 

# 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| 
    # ## Mock Framework 
    # 
    # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line: 
    # 
    # config.mock_with :mocha 
    # config.mock_with :flexmock 
    # config.mock_with :rr 

    # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures 
    # config.fixture_path = "#{::Rails.root}/spec/fixtures" 

    # 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 

    # If true, the base class of anonymous controllers will be inferred 
    # automatically. This will be the default behavior in future versions of 
    # rspec-rails. 
    config.infer_base_class_for_anonymous_controllers = false 

    # Run specs in random order to surface order dependencies. If you find an 
    # order dependency and want to debug it, you can fix the order by providing 
    # the seed, which is printed after each run. 
    #  --seed 1234 
    config.order = "random" 
end 

तो जब भी गार्ड चलाया जाता है तो मुझे यह त्रुटि क्यों मिल रही है?

+0

संभव की जरूरत है नई रेल 3 परियोजना में [अपरिभाषित विधि \ 'उपयोग \ _transactional \ _fixtures = 'का डुप्लिकेट (http://stackoverflow.com/questions/5904129/undefined-method-use-transactional-fixtures-in-new-rails-3 -Project) –

उत्तर

3

हो सकता है क्योंकि आप ActiveRecord (जैसे आप MongoId उपयोग कर रहे हैं) का उपयोग नहीं कर रहे हैं और यदि ऐसा है तो आप बाहर टिप्पणी करने के लिए * spec_helper में config.use_transactional_fixtures *

spec_helper.rb

# Remove this line if you're not using ActiveRecord or ActiveRecord fixtures 
    # config.fixture_path = "#{::Rails.root}/spec/fixtures" 

    # 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 
संबंधित मुद्दे