5

我试图通过命令行传递几个变量来 rake 以在 rspec 中使用。

根据我收集到的信息,我可以这样做以将 args 传递到我的 rake 任务中:

task :my_task, :arg1, :arg2 do |t, args|
  puts "Args were: #{args}"
end

但我正在使用 rspec,所以我的 rake 任务如下所示:

RSpec::Core::RakeTask.new(:my_task), :arg1, :arg2 do |t, args|
 puts args.arg1
 puts args.arg2
end

这是行不通的。

我还没有弄清楚如何将它传递给我的 rspec 规范文件

4

2 回答 2

0

你怎么称呼耙子?

对于您的示例,您必须致电:

rake mytask[val1,val2]

我不确定您的第二个代码示例。args 应该是带有键 :arg1 和 :arg2 的散列。所以你可以使用

puts args[:arg1]

我怀疑 args.arg1 是否会起作用。

于 2011-07-27T20:31:29.460 回答
0

自最初的问题以来已经有一段时间了,但我必须解决类似的问题。你不必改变你最初的想法:

RSpec::Core::RakeTask.new(:my_task, [:arg1, :arg2]) do |t, args|
 puts args.arg1
 puts args.arg2
end

然后通过以下方式调用它:

rake my_task["hello","world"]
于 2015-06-23T13:50:12.963 回答