Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
登录页面与capybara、rspec、mongoid、数据库清理器的集成测试_Rspec_Webkit_Mongoid_Integration Testing_Capybara - Fatal编程技术网

登录页面与capybara、rspec、mongoid、数据库清理器的集成测试

登录页面与capybara、rspec、mongoid、数据库清理器的集成测试,rspec,webkit,mongoid,integration-testing,capybara,Rspec,Webkit,Mongoid,Integration Testing,Capybara,我正在尝试为我的web应用设置登录测试。成功登录后,应将用户重定向到仪表板。但是,在仪表板规范中,factory girl创建的用户无法登录 但是如果我使用 attr = Factory.attributes_for(:user) user = User.create(attr) 而不是 user = Factory.create(:user) 它起作用了。在这两种情况下,User.count都返回1 Gemfile 仪表板规格rb rspec_helper.rb group :develo

我正在尝试为我的web应用设置登录测试。成功登录后,应将用户重定向到仪表板。但是,在仪表板规范中,factory girl创建的用户无法登录

但是如果我使用

attr = Factory.attributes_for(:user)
user = User.create(attr)
而不是

user = Factory.create(:user)
它起作用了。在这两种情况下,User.count都返回1

Gemfile 仪表板规格rb rspec_helper.rb
group :development, :test do
  gem 'selenium-webdriver', "~> 2.16.0"
  gem "capybara-webkit", "0.12.1"
  gem "capybara", "1.1.2"
  gem "database_cleaner", "0.8.0"
  gem "rspec-rails", " 2.11.0"
  gem 'capybara-screenshot', "0.2.1"
  gem "factory_girl_rails", "1.2"
  gem 'guard-spork', '0.3.2'
  gem 'spork', '0.9.0'
end
it "should return 200 and redirect to dashboard if user is already signed in" do
  user = FactoryGirl.create(:user, :password => "password", :password_confirmation => "password")

  puts user.count  # 1

  visit "/users/sign_in"

  # log in user
  fill_in "user_email", :with => user.email
  fill_in "user_password", :with => "password"
  click_on "Sign in"

  page.status_code.should == 200
  current_path.should eq("/u/dashboard")
end
require 'rubygems'
require 'spork'

Spork.prefork do
  ENV["RAILS_ENV"] ||= 'test'
  require File.expand_path("../../config/environment", __FILE__)

  require 'rspec/rails'
  require 'capybara/rspec'
  require 'capybara/rails'

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

  RSpec.configure do |config|

    config.mock_with :rspec

    # Cleaner
    DatabaseCleaner[:mongoid].strategy = :truncation
    config.before(:each) { DatabaseCleaner[:mongoid].clean }
    config.after(:each) { DatabaseCleaner[:mongoid].clean }

  end

  Capybara.javascript_driver = :webkit

end

Spork.each_run {}