rails test database不会擦除

Woo*_*tty 4 database postgresql rspec ruby-on-rails ruby-on-rails-3

我正在运行rails 3.0.3并使用带有postgresql数据库的rspec-rails 2.4.1.每当我运行RSpec测试时,数据都会保留在最后.有谁知道如何让rails或rspec在每次使用之间擦除测试环境的数据?

请告诉我是否有任何进一步的信息可以更容易回答我的问题.

谢谢!
特里斯坦

小智 10

安装database_cleaner gem,然后将其添加到spec_helper.rb.

Spec::Runner.configure do |config|

  config.before(:suite) do
    DatabaseCleaner.strategy = :transaction
    DatabaseCleaner.clean_with(:truncation)
  end

  config.before(:each) do
    DatabaseCleaner.start
  end

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

end
Run Code Online (Sandbox Code Playgroud)


Dee*_*k N 5

使用事务示例在每次测试运行后回滚数据

RSpec.configure do |config|
  config.use_transactional_examples = true
end
Run Code Online (Sandbox Code Playgroud)

  • 是.它现在是`use_transactional_fixtures` (2认同)