我正在使用Capybara和RSpec编写功能测试,其中应用程序是远程的(即不是由Capybara启动)。测试和应用程序共享相同的数据库。所以我假设测试对数据库所做的任何更改也可用于远程应用程序。
但是当我使用Selenium用我在测试步骤中创建的记录中的数据填充表单时,我得到“没有这样的记录”错误。
我的RSpec配置包括以下行:
RSpec.configure do |c|
c.use_transactional_fixtures = false
end
我认为这将允许数据可用于Selenium。但那不是正在发生的事情。
我的Capybara配置是:
Capybara.javascript_driver = :headless_chrome
Capybara.app_host = 'http://selenium:5000'
Capybara.run_server = false
测试和被测试的应用程序在DATABASE_URL=postgres://postgres@db:5432/test_db
使用相同的数据库。
谁能帮我吗?
弄清楚DatabaseCleaner正在添加事务块。
DatabaseCleaner.strategy = :transaction