我看到这种很酷的方法仅适用于使用数据库清理器:truncation来使用:js => true进行 capybara 测试

在spec_helper.rb中:

config.before(:each) do
  DatabaseCleaner.strategy = if example.metadata[:js]
    :truncation
  else
    :transaction
  end
  DatabaseCleaner.start
end

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

问题在于,使用 capybara 进行的任何功能测试似乎都需要将清除策略设为:truncation。

但是,所有其他规范都可以使用:transaction正常运行,这要快得多。

有没有一种方法只能为 capybara 功能测试指定策略?就像是:
DataCleaner.strategy( :truncation ) if :type => :feature

最佳答案

应该这样做,让我知道

config.after(:all, :type => :feature) do
  DatabaseCleaner.clean_with :truncation
end

10-08 04:50