我有一个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 - 格式文件
因此,参数传递正确,格式选项仍无效。你能帮我解决一下这个谜。
答案 0 :(得分:0)
我使用
时遇到了同样的问题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
答案 1 :(得分:0)
尝试一下:
spec.rspec_opts = ["--format", "html", "--out", "output.html", "--format", "documentation"]