RakeTask.rspec_选项在rake中指定时被忽略

RakeTask.rspec_选项在rake中指定时被忽略,rspec,rake,formatter,Rspec,Rake,Formatter,我有一个在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' 结束 任务:pi=>[:报告,:pit] 当我运行命令时 $rake-f test.rake pi 测试运行良好。但是,我没

我有一个在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'
结束
任务:pi=>[:报告,:pit]
当我运行命令时

$rake-f test.rake pi
测试运行良好。但是,我没有看到文档格式化程序的任何输出,也没有生成
output.html

但是,当我运行命令时

$rspec test.rb--格式化html--输出输出.html--格式化文档
测试运行正常,输出以文档格式打印,并且
output.html
也正确生成

当我运行
rake
命令时,我还可以正确地看到参数,实际的命令如下所示:

$ruby.exe-I lib:spec-S rspec test.rb--格式化html--输出.html
--格式文档

因此,参数被正确地传递,格式选项仍然无效。你能帮我解开这个谜团吗。

我使用时也遇到过同样的问题

spec.rspec_opts "--format documentation --color"
--颜色参数未通过

唯一的解决方案是在spec_helper.rb中设置它,而不是在rake任务中

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

spec.rspec_opts = ["--format", "html", "--out", "output.html", "--format", "documentation"]

您正在使用
--格式
twice@ajahongir如果您想要输出的多个副本,您可以多次提供。