我编写了两个Rspec测试,每个测试都调用相同的Rake任务。第二项任务永远不会运行,因为调用仅触发一次,所以我需要重新启用它。我的问题是我无法运行rake任务,这是我正在使用的命令:
Rake::Task["product:delete"].reenable(product.id)
我收到此命令的运行时错误:
不知道如何构建任务'product:delete [1]'是什么意思?产品:删除
有人知道我该怎么写?我很困惑,因为孤立地我通过运行让它通过:
Rake.application.invoke_task("product:delete[#{product.id}]"
reenable
(而不是invoke_task),而不是将其指定为任务名称的一部分。例如
您可以通过将任务保存在变量中来进一步简化它:
invoke
P.S。看起来很像该错误“不知道如何构建任务'product:delete [1]”,是什么意思?product:delete”实际上是由您尝试使用任务名称中的参数调用任务而产生的比起重新启用。可能是因为尝试了许多不同的事情。