Передающие аргументы Rspec SpecTask

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 или является там альтернативным подходом?

5
задан Bayard Randel 28 May 2010 в 03:35
поделиться

1 ответ

если 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
6
ответ дан 14 December 2019 в 13:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: