每次我运行测试。 Rails 将从表中删除我的数据。我的表中有数百万条记录用于测试搜索性能和更正。我每次运行测试时都无法添加数据。

当我运行测试时如何告诉 rails“请不要删除此表中的数据”。

附:

我找到了这个链接

How do I run Rails integration tests without dropping DB contents?

这可能与我的问题有关,但我不知道将他的代码放在我的 rails 项目中的何处。

最佳答案

与 Neokain 之前的帖子非常相似,但是,他对我来说并没有在 Rails 3 上工作。
我继续将其放入应用程序根目录的 Rakefile 中,当我运行 test:units 时,它不会清除我现有的所有表:

Rake::TaskManager.class_eval do
  def delete_task(task_name)
    @tasks.delete(task_name.to_s)
  end
  Rake.application.delete_task("db:test:purge")
  Rake.application.delete_task("db:test:prepare")
end

namespace :db do
  namespace :test do
    task :purge do
    end
    task :prepare do
    end
  end
end

关于ruby-on-rails - 在rails中运行测试时如何保留数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1158407/

10-12 00:25
查看更多