Rspec and named routes

前端 未结 6 1505
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-11-30 06:49

I\'m quite new to rails, and trying to follow the railstutorial. Everything goes fine, except for my tests which can\'t get past the named routes (5.3.3)

My routes.r

6条回答
  •  孤城傲影
    2020-11-30 06:57

    Named routes should work if you put the following in rails_helper.rb not the spec_helper.rb:

    checkout at my rails_helper.rb code

    
    # This file is copied to spec/ when you run 'rails generate rspec:install'
    require 'spec_helper'
    ENV['RAILS_ENV'] ||= 'test'
    require File.expand_path('../config/environment', __dir__)
    # Prevent database truncation if the environment is production
    if Rails.env.production?
      abort('The Rails environment is running in production mode!')
    end
    require 'rspec/rails'
    require 'capybara/rails'
    RSpec.configure do |config|
      config.include Rails.application.routes.url_helpers
      config.include Devise::Test::ControllerHelpers, type: :controller
      config.include Devise::Test::ControllerHelpers, type: :view
      config.include Warden::Test::Helpers
    end
    
    begin
      ActiveRecord::Migration.maintain_test_schema!
    rescue ActiveRecord::PendingMigrationError => e
      puts e.to_s.strip
      exit 1
    end
    RSpec.configure do |config|
      # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
      config.fixture_path = "#{::Rails.root}/spec/fixtures"
    
      config.use_transactional_fixtures = true
    
      config.infer_spec_type_from_file_location!
    
      # Filter lines from Rails gems in backtraces.
      config.filter_rails_from_backtrace!
    end
    
    

提交回复
热议问题