0

我正在尝试使用database_cleaner gem 来清理我的规格。我的 spec_helper.rb 中有以下简单配置:

require 'database_cleaner'


RSpec.configure do |config|
  config.use_transactional_fixtures = false

  config.before :suite do
    DatabaseCleaner.strategy = :truncation
  end

  config.before :each do
    DatabaseCleaner.start
  end

  config.after :each do
    DatabaseCleaner.clean
  end
end

虽然运行规范,但我注意到在执行 DatabaseCleaner.clean 后我的数据库被完全清除了。我确定这只是为了清理测试的影响......有什么可能导致这种行为的想法吗?

4

1 回答 1

4

这是因为您将策略设置为:truncation,这确实清楚了整个事情。

如果您想将其限制为仅在测试中完成的操作,则将策略更改为:transaction

从广义上讲,截断非常简单,在 TEST 数据库中应该不是问题。

于 2013-03-18T07:09:24.700 回答