Rails如何在selenium测试之间清除数据库

时间:2011-07-07 06:06:55

标签: ruby-on-rails-3 selenium-rc

Rails 3 Rspec Selenium webrat

Selenium测试写入开发数据库。

我需要一种在每次测试之前或之后运行rake db:reset的方法。

有没有办法在集成测试中运行rake db:reset?

1 个答案:

答案 0 :(得分:0)

您可以查看database_cleaner gem(请参阅https://github.com/bmabey/database_cleaner上的文档)。安装完成后,可以将其添加到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