簡體   English   中英

如何防止Rake測試調用任務db:test:prepare

[英]How to prevent Rake test to call task db:test:prepare

每次我想運行Rake測試時,都會調用任務db:test:prepare,它會從schema.rb和遷移重建我的測試環境數據庫。 我想要實現的是禁用db:test的調用:當我想測試make Rails應用程序時准備。 是否可以不修改Rails gem?

這是我見過的解決方案:

在你的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:prepare'

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

有一個插件可以解決這個問題: override_rake_task 這是一個快速用法示例:

namespace :db do
  namespace :test do
    override_task :prepare do; end
  end
end

對於某些舊版本的rails - 你可以放置Rake::Task['db:test:prepare'].clear Rakefile的末尾

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM