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