我看到这种很酷的方法仅适用于使用数据库清理器: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