11

Rakeテストを実行するたびに、タスクdb:test:prepareが呼び出され、schema.rbと移行からテスト環境データベースが再構築されます。私が達成したいのは、make Railsアプリケーションをテストするときにdb:test:prepareの呼び出しを無効にすることです。Railsの宝石を変更せずにそれは可能ですか?

4

3 に答える 3

13

これが私が周りで見た解決策です:

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
于 2009-07-09T01:04:00.387 に答える
5

これを処理するプラグインがあります:override_rake_task。簡単な使用例を次に示します。

namespace :db do
  namespace :test do
    override_task :prepare do; end
  end
end
于 2009-07-09T00:37:57.570 に答える
0

一部の古いバージョンのrailsの場合Rake::Task['db:test:prepare'].clear-Rakefileの最後に配置できます

于 2014-12-10T03:25:15.337 に答える