RakeTask.rspec_opts игнорируется при указании в rake - PullRequest
5 голосов
/ 01 апреля 2012

У меня есть RakeTask, который определен в файле test.rake как

RSpec::Core::RakeTask.new(:pit) do |spec|
  spec.ruby_opts = "-I lib:spec"
  spec.rspec_opts = "--format html --out output.html --format documentation"
  spec.pattern = 'test.rb'
end

task :pi => [:report, :pit]

Когда я запускаю команду

rake -f test.rake pi

, тест выполняется нормально, однако я не вижу никакого вывода в соответствии с форматером документации, и не создается файл output.html.

Однако, когда я запускаю команду

rspec test.rb --format html --out output.html --format Documentation

тест выполняется нормально, вывод выводится в формате документации и также генерируется output.html

Когда я запускаю команду rake, я также вижу аргументы правильно, фактическая команда выглядит следующим образом:

ruby.exe -I lib: spec -S rspec test.rb--format html --out output.html --форматная документация

Итак, аргументы передаются правильно, и все же параметры форматирования не действуют.Можете ли вы помочь мне разрешить эту тайну.

1 Ответ

0 голосов
/ 03 апреля 2015

У меня была такая же проблема, когда я использовал

spec.rspec_opts "--format documentation --color"

- аргумент цвета не передан.

Единственным решением было установить его в spec_helper.rb, а не в грабли

RSpec.configure do |config|
  config.color = true
  config.tty = true
  config.formatter = :documentation # :progress, :html, :textmate
end
...