Ruby on rails 为什么不';在远程应用程序使用的数据库中反映的规范内所做的更改是什么?

Ruby on rails 为什么不';在远程应用程序使用的数据库中反映的规范内所做的更改是什么?,ruby-on-rails,selenium-webdriver,capybara,rspec-rails,Ruby On Rails,Selenium Webdriver,Capybara,Rspec Rails,我正在使用Capybara和RSpec编写一个功能测试,其中应用程序是远程的(即不是由Capybara启动的)。测试和应用程序共享同一个数据库。因此,我假设测试对数据库所做的任何更改也可以用于远程应用程序 但是,当我使用Selenium用我在测试步骤中创建的记录中的数据填充表单时,会出现“无此类记录”错误 我的RSpec配置包括以下行: RSpec.configure do |c| c.use_transactional_fixtures = false end 我认为这将允许硒的数据可用

我正在使用Capybara和RSpec编写一个功能测试,其中应用程序是远程的(即不是由Capybara启动的)。测试和应用程序共享同一个数据库。因此,我假设测试对数据库所做的任何更改也可以用于远程应用程序

但是,当我使用Selenium用我在测试步骤中创建的记录中的数据填充表单时,会出现“无此类记录”错误

我的RSpec配置包括以下行:

RSpec.configure do |c|
  c.use_transactional_fixtures = false
end
我认为这将允许硒的数据可用。但事实并非如此

我的水豚配置是:

Capybara.javascript_driver = :headless_chrome
Capybara.app_host = 'http://selenium:5000'
Capybara.run_server = false
测试和被测试的应用程序都在
数据库\u URL使用相同的数据库=postgres://postgres@数据库:5432/测试数据库


有人能帮我吗?

找出DatabaseCleaner正在添加事务块

DatabaseCleaner.strategy = :transaction