2013-04-29 10 views
2

Попытки начать работу с Капибарой и имеет довольно много простой тест:Капибара - Неопределенный метод сделать

require 'spec_helper' 

    describe 'the login process', :type => :feature do 
     before :each do 
     User.make(:email => '[email protected]', :password => 'password') 
     end 

     it 'signs them in' do 
     visit '/sessions/new' 
     within("#session") do 
      fill_in 'Login', :with => '[email protected]' 
      fill_in 'Password', :with => 'password' 
     end 
     click_link 'Sign in' 
     page.should have_content 'Signed in successfully.' 
     end 
    end 

Я, кажется, получает следующее сообщение об ошибке: Imgur. Любые идеи, что именно вызовет это. У меня есть Капибара включены в мой Gemfile:

group :development, :test do 
    gem 'rspec-rails' 
    gem 'factory_girl_rails' 
    gem 'pry-debugger' 
    gem 'quiet_assets' 
    gem 'capybara' 
end 

И поставил его правильно в моем spec_helper.rb

ENV["RAILS_ENV"] ||= 'test' 
require File.expand_path("../../config/environment", __FILE__) 
require 'rspec/rails' 
require 'rspec/autorun' 
require 'capybara/rspec' 

Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f} 

RSpec.configure do |config| 
    config.fixture_path = "#{::Rails.root}/spec/fixtures" 
    config.use_transactional_fixtures = true 
    config.infer_base_class_for_anonymous_controllers = false 
    config.order = "random" 
    config.include Capybara::DSL 

    config.include FactoryGirl::Syntax::Methods 
end 

Так что может быть точно вызывает эту ошибку, когда я бегу bundle exec rspec spec/requests/user_test.rb

+0

Почему вы используете 'User.make (...)'? Можете ли вы использовать 'User.create (...)' вместо этого? – MervS

ответ

3

Из этого SO question , выясняется, что метод make выполнен из драгоценного камня машиниста. Убедитесь, что он включен в Gemfile. Или вы можете использовать User.create.

Смежные вопросы