簡體   English   中英

編寫多個 Rake 任務

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM