2012-08-13 1 views
2

을 사용하여 다음과 같이 내 .rspec 파일이 프로젝트 HTML :RSpec에 2 - --format 내 레일에서 가드

--color 
--format progress 
--format html --out tmp/spec_outputs/spec_results.html 

나는 "레이크 사양"출력은 다음과 같이 예상된다 실행 : 내가 진행 출력 참조 stdout과 html 파일이 주어진 디렉토리에 생성됩니다.

그러나 "bundle exec guard"를 사용하여 테스트를 자동화하려고하면 html이 stdout으로 전송되고 html 파일이 생성/업데이트되지 않습니다. 참고 : "번들 exec"없이 "가드"를 실행하면 동일한 문제가 발생합니다. 아래

내 guardfile : 내가 잘못 아무것도

guard 'cucumber', cli: "-p wip" do 
    watch(%r{^features/.+\.feature$}) 
    watch(%r{^features/support/.+$})   { 'features' } 
    watch(%r{^features/step_definitions/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' } 
end 


guard 'rspec', :version => 2 do 
    watch(%r{^spec/.+_spec\.rb$}) 
    watch(%r{^lib/(.+)\.rb$})  { |m| "spec/lib/#{m[1]}_spec.rb" } 
    watch('spec/spec_helper.rb') { "spec" } 

    # Rails example 
    watch(%r{^app/(.+)\.rb$})       { |m| "spec/#{m[1]}_spec.rb" } 
    watch(%r{^app/(.*)(\.erb|\.haml)$})     { |m| "spec/#{m[1]}#{m[2]}_spec.rb" } 
    watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] } 
    watch(%r{^spec/support/(.+)\.rb$})     { "spec" } 
    watch('config/routes.rb')       { "spec/routing" } 
    watch('app/controllers/application_controller.rb') { "spec/controllers" } 

    # Capybara request specs 
    watch(%r{^app/views/(.+)/.*\.(erb|haml)$})   { |m| "spec/requests/#{m[1]}_spec.rb" } 

    # Turnip features and steps 
    watch(%r{^spec/acceptance/(.+)\.feature$}) 
    watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' } 
end 

건가요?

답변

2

guard에 의해 실행되는 rspec 명령은 .rspec 파일을 고려하지 않습니다. 당신은 :cli 옵션을 사용하여 RSpec에에 --format 인수를 전달할 수 있습니다

자세한 내용
guard 'rspec', :cli => "--color --format progress --format html --out tmp/spec_outputs/spec_results.html" do 
    # ... 
end 

, 체크 아웃 guard-rspec 문서 guard/guard-rspec.

+0

감사합니다. 너는 스포트 온이었다. 어제 cli 옵션을 전달하려고 시도했지만 작동하지 않았습니다. 정확하게 지정하지 않아야합니다. –