ruby-on-rails - 运行 "db:test:load => db:test:purge"而不重置数据库

标签 ruby-on-rails ruby-on-rails-3

当我运行“rake test:integration”时,它正在调用“db:test:load => db:test:purge”。我不想重新创建数据库,只想在不接触数据库的情况下运行测试用例。有什么办法可以做到吗?

最佳答案

它会像我的评论一样

对于你的情况,它会是这样的:-

在你的 Rakefile 中:

Rake::TaskManager.class_eval do
  def remove_task(task_name)
   @tasks.delete(task_name.to_s)
 end
end

在 lib/tasks/db/test.rake 中:

Rake.application.remove_task 'db:test:load'
Rake.application.remove_task 'db:test:purge'

namespace :db do
 namespace :test do 
   task :load do |t|
     # rewrite the task to not do anything you don't want
   end
   task :purge do |t|
      # rewrite the task to not do anything you don't want
   end  
  end
end

关于ruby-on-rails - 运行 "db:test:load => db:test:purge"而不重置数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18698117/

相关文章:

ruby-on-rails - YAML::load 引发未定义的类/模块错误

ruby-on-rails - Carrierwave - 添加或删除图像时多张图像上传速度太慢

mysql - 错误 : Error installing mysql2: ERROR: Failed to build gem native extension

ruby-on-rails-3 - Rails 3.1中的mailer中的asset_url

ruby-on-rails - 如何在 Rails 中为基于 cookie 的 session 动态设置到期时间

MySQL(ActiveRecord)计算日期列在分组的月份和年份之前或之前的行

ruby-on-rails - Angular + Rails + 路由?

ruby-on-rails - 强制 HTTP 响应在 Rails 中返回状态 200

ruby-on-rails - Rails 和针对旧数据库的测试

ruby-on-rails - 无方法错误 : undefined method `last_comment' after upgrading to rake 11