スペックなどの一部としてテストしたい一連のrakeタスクがRakefileにあります。各タスクは次の形式で定義されています。
task :do_somthing => :environment do
# Do something with the database here
end
:environmentタスクがActiveRecord/DataMapperデータベース接続とクラスを設定する場所。これをRailsの一部として使用していませんが、BDDの一部として実行したい一連のテストがあります。
このスニペットは、私がどのようにレーキタスクをテストしようとしているのかを示しています。
def setup
@rake = Rake::Application.new
Rake.application = @rake
load File.dirname(__FILE__) + '/../../tasks/do_something.rake'
end
should "import data" do
@rake["do_something"].invoke
assert something_in_the_database
end
だから私の助けの要求-私のrakeテストが本番ではなく私のテストデータベースと相互作用するように私のtest_helper.rbファイルの:environmentタスクをオーバーライドすることは可能ですか?ヘルパーファイルでタスクを再定義しようとしましたが、これは機能しません。
私はこの1週間これに固執しているので、解決策の助けは素晴らしいでしょう。