2014-08-31 1 views
0

가드 2.6.1을 Zeus와 함께 사용하면 가드가 변경된 파일에 대한 사양을 실행하지 않습니다.가드가 변경된 파일 레일에 대한 테스트를 실행하지 않음 4.1.2

나는 맥 OS를 사용하고 X I는 사양에 어떤 변경하면 즉시 그것을 실행 보호하지만, 2.1.2

레일 4.1.2와 루비 10.9.4 다른 파일, 가드 어떤 변화를 무시하는 것 같습니다.

Using capybara (2.4.1) 
    Using guard (2.6.1) 
    Using guard-rspec (4.3.1) 
    Using guard-zeus (2.0.0) 
    Using pry (0.10.1) 
    Using rails (4.1.2) 
    Using rb-fsevent (0.9.4) 
    Using rb-inotify (0.9.5) 
    Using rspec (3.0.0) 
    Using rspec-core (3.0.4) 
    Using rspec-expectations (3.0.4) 
    Using rspec-mocks (3.0.4) 
    Using rspec-rails (3.0.2) 
    Using rspec-support (3.0.4) 
    Using terminal-notifier-guard (1.5.3) 
    Using zeus (0.15.1) 

그리고 내 Guardfile은 다음과 같습니다 :

내 번들입니다

guard :rspec, cmd: 'zeus rspec' 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|\.slim)$})   { |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" } 
     watch('spec/rails_helper.rb')      { "spec" } 

     # Capybara features specs 
     watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$})  { |m| "spec/features/#{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 

    guard 'zeus' do 
     # uses the .rspec file 
     # --colour --fail-fast --format documentation --tag ~slow 
     watch(%r{^spec/.+_spec\.rb$}) 
     watch(%r{^app/(.+)\.rb$})       { |m| "spec/#{m[1]}_spec.rb" } 
     watch(%r{^app/(.+)\.haml$})       { |m| "spec/#{m[1]}.haml_spec.rb" } 
     watch(%r{^lib/(.+)\.rb$})       { |m| "spec/lib/#{m[1]}_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/requests/#{m[1]}_spec.rb"] } 

     # TestUnit 
     # watch(%r|^test/(.*)_test\.rb$|) 
     # watch(%r|^lib/(.*)([^/]+)\.rb$|)  { |m| "test/#{m[1]}test_#{m[2]}.rb" } 
     # watch(%r|^test/test_helper\.rb$|) { "test" } 
     # watch(%r|^app/controllers/(.*)\.rb$|) { |m| "test/functional/#{m[1]}_test.rb" } 
     # watch(%r|^app/models/(.*)\.rb$|)  { |m| "test/unit/#{m[1]}_test.rb" } 
    end 

답변

0

ZeusGuardfile에 자신의 guard 블록이 필요합니다.

$ guard init zeus 
이 위키 항목이 파일 변경 작업을 트리거하지 않는 문제 디버깅 정확히

 

guard 'zeus' do 
    # uses the .rspec file 
    # --colour --fail-fast --format documentation --tag ~slow 
    watch(%r{^spec/.+_spec\.rb$}) 
    watch(%r{^app/(.+)\.rb$})       { |m| "spec/#{m[1]}_spec.rb" } 
    watch(%r{^app/(.+)\.haml$})       { |m| "spec/#{m[1]}.haml_spec.rb" } 
    watch(%r{^lib/(.+)\.rb$})       { |m| "spec/lib/#{m[1]}_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/requests/#{m[1]}_spec.rb"] } 
    # ... 
end 
+0

jibiel가, 가드하지 않습니다 사양 파일을 실행하지 않으면 다른 파일에서도 실행됩니다. – juangdelvalle