![http://blog.inouetakuya.info/entry/2013/11/10/201040](https://cdn-ak-scissors.b.st-hatena.com/image/square/e2094ddc5c5c648ac5210a298719d0687ee4b1f1/height=288;version=1;width=512/http%3A%2F%2Fecx.images-amazon.com%2Fimages%2FI%2F51K0jUf%2BiEL.jpg)
Railsのジェネレータで生成したタスクのrbファイルを見ているとRakeタスクを定義するところで少し疑問に思ったことがあった。 railsのジェネレーターで以下のとおりにタスクを作成する。 % rails generate TASK_FILE_NAME TASK_NAME 例) % rails generate hoge test 例)のように実行すると lib/tasks/hoge.rb ができて testというタスクが定義される namespace :hoge do desc "TODO" task test: :environment do end end タスク定義のところで「:environment」 という引数が渡されているが、どういうこのことなのかを調べてみた。 「RailsでオリジナルRakeタスク作成からRSpecテストまで」 の記事の中に以下の一文があったので実際に試
Rake タスクをテストするとき、テストコード内で #invoke で呼び出すと、二回目の実行時に Rake タスクが実行されません。 describe 'hoge' do before(:all) do @rake = Rake::Application.new Rake.application = @rake Rake.application.rake_require("hoge", ["#{Rails.root}/lib/tasks"]) Rake::Task.define_task(:environment) end describe "rake hoge" do context "Rake タスク実行後" do before do @rake["book:dismissed_suppliers"].invoke end it "hoge 一回目" do # Rake タスクが実行
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く