我正在尝试通过命令行传递几个变量来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规范文件
答案 0 :(得分:0)
你怎么称耙?
对于您的示例,您必须致电:
rake mytask[val1,val2]
我不确定你的第二个代码示例。 args应该是一个带键的哈希:arg1和:arg2。 所以你可以使用
puts args[:arg1]
我怀疑args.arg1是否有效。
答案 1 :(得分:0)
自原始问题以来已经有一段时间了,但我必须解决类似的问题。你不必改变你最初的想法:
RSpec::Core::RakeTask.new(:my_task, [:arg1, :arg2]) do |t, args|
puts args.arg1
puts args.arg2
end
然后调用它,例如通过:
rake my_task["hello","world"]