6

我看到这个很酷的方法只使用数据库清理器:截断水豚测试使用:js => true

在 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
4

1 回答 1

3

这应该可以,让我知道

config.after(:all, :type => :feature) do
  DatabaseCleaner.clean_with :truncation
end
于 2013-02-14T18:26:10.413 回答