Как передать аргументы из командной строки на грабли, а затем rspec - PullRequest
5 голосов
/ 28 июля 2011

Я пытаюсь передать пару переменных через командную строку для rake для использования в rspec.

Из того, что я собрал, я могу сделать это, чтобы передать аргументы в мою задачу 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

Ответы [ 2 ]

0 голосов
/ 23 июня 2015

Прошло много времени с момента первоначального вопроса, но мне пришлось решить аналогичную проблему.Вам не нужно сильно менять первоначальную идею:

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

Затем позвоните ей, например, через:

rake my_task["hello","world"]
0 голосов
/ 28 июля 2011

Как вы называете рейк?

Для вашего примера вы должны позвонить:

rake mytask[val1,val2]

Я не уверен насчет вашего второго примера кода. Аргументы должны быть хэшем с ключами: arg1 и: arg2. Таким образом, вы можете использовать

puts args[:arg1]

Я сомневаюсь, что args.arg1 будет работать.

...