2012-04-01 16 views
5

Ho un RakeTask che è definito in un file test.rake comeRakeTask.rspec_opts vengono ignorati quando specificato in 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] 

Quando faccio funzionare l'ordine

rastrello -f test.rake pi

, il test funziona bene, tuttavia non vedo alcun output come da formattatore di documentazione e non viene generato output.html.

Tuttavia quando eseguire il comando

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

il test funziona bene, e l'uscita è stampata in formato di documentazione, e output.html è anche generato correttamente.

Quando faccio funzionare l'ordine rastrello posso anche vedere gli argomenti correttamente, il comando effettivo sembra

ruby.exe -I lib: spec -S rspec test.rb --format html --out output.html- Documentazione di formato

Quindi, gli argomenti vengono inoltrati correttamente e le opzioni di formattazione non hanno alcun effetto. Puoi per favore aiutarmi a risolvere questo mistero.

+1

si utilizza '--format' due volte – ajahongir

risposta

0

Ho avuto lo stesso problema quando ho usato

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

--color argomento non è stata approvata.

L'unica soluzione era quella di metterlo in spec_helper.rb - non nel compito rake

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