【问题标题】:With Capybara + Poltergeist the data is not persisting使用 Capybara + Poltergeist,数据不会持久化
【发布时间】:2015-02-01 14:15:02
【问题描述】:

我正在使用 Capybara + Poltergeist,当我在我的场景中创建一个用户并在控制台中显示它时,该用户存在。当我要求在新会话视图中显示时,User.count 为 0。

谁能帮帮我?

【问题讨论】:

  • 当我删除js: true时,它可以正常工作,但是我的页面有ajax,那么我需要使用js: true
  • 固定添加:config.before(:each, js: true) do DatabaseCleaner.strategy = :truncation end

标签: ruby-on-rails ruby rspec capybara poltergeist


【解决方案1】:

这可能是因为启用了事务性装置。

改用数据库清理器并在rails_helper.rbRSpec.configure do |config| 块中禁用它们

config.use_transactional_fixtures = false

config.before(:suite) do
  DatabaseCleaner.clean_with(:truncation)
end
config.before(:each) do
  DatabaseCleaner.strategy = :transaction
end
config.before(:each, js: true) do
  DatabaseCleaner.strategy = :truncation
end

config.before(:each) do
  DatabaseCleaner.start
end
config.after(:each) do
  DatabaseCleaner.clean
end

你需要添加

gem 'database_cleaner', :group => [:development, :test]

给你Gemfile

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-08
    • 2019-03-14
    • 2010-12-31
    相关资源
    最近更新 更多