[英]Writing multiple Rake tasks
我編寫了兩個 Rspec 測試,每個測試調用相同的 Rake 任務。 第二個任務永遠不會運行,因為調用只觸發一次,所以我需要重新啟用。 我的問題是我無法運行 rake 任務,這是我正在使用的命令:
Rake::Task["product:delete"].reenable(product.id)
我收到此命令的運行時錯誤:
不知道如何構建任務 'product:delete[1]' 是嗎? 產品:刪除
任何人都知道我應該怎么寫這個? 我很困惑,因為在孤立的情況下,我通過運行讓它通過:
Rake.application.invoke_task("product:delete[#{product.id}]"
你不應該需要傳遞一個參數來reenable
(它不需要一個)
但是,您應該將參數傳遞給invoke
(而不是 invoke_task),而不是將其指定為任務名稱的一部分。
例如
Rake::Task['product:delete'].reenable
Rake::Task['product:delete'].invoke(product.id)
您可以通過將任務保存在變量中來簡化它:
t = Rake::Task['product:delete']
t.renable
t.invoke(product.id)
PS 它看起來很像那個錯誤“不知道如何構建任務‘product:delete[1]’你是說嗎?product:delete”實際上來自你試圖用任務名稱中的參數調用任務而不是從重新啟用。 可能是因為嘗試了很多不同的事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.