Rake допускает следующий синтаксис:
task :my_task, :arg1, :arg2 do |t, args|
puts "Args were: #{args}"
end
Я хотел бы смочь сделать то же, но с RSpecs SpecTask.
Следующее, к сожалению, перестало работать:
desc "Run example with argument"
SpecTask.new('my_task'), :datafile do |t, args|
t.spec_files = FileList['*_spec.rb -datafile=#{args}']
t.spec_opts = ["-c -f specdoc"]
end
Действительно ли это возможно достигнуть этого с SpecTask или является там альтернативным подходом?
если rspec не поддерживает переменную args, вы можете передать ее в качестве параметра командной строки и/или переменной из другого места.
rake datafile=somevalue
@datafile = ENV["datafile"]
desc "Run example with argument"
SpecTask.new :my_task do |t|
t.spec_files = FileList["*._spec.rb -datafile=#{@datafile}"]
#... etc
end