나는 주 시험 주자로서 bundle exec guard
을 사용하고 있으며, 나는 그것에 대해 총 n00b 임에도 불구하고 그것을 좋아한다.더 나은 가드 (Spork/RSpec)
나를 괴롭혔던 것은 실제 코드를 변경하기 위해 수동으로 'r'을 다시 시작해야하는 방식입니다. 나는 느린 재 장전 시간으로 괜찮 았지만 (비록 rails c
의 reload!
과 같은 일을했다면 좋겠지 만) 내가 참을 수없는 것은 수동으로 창으로 전환해야하고 r
을 누르는 것입니다. 특히 이것을 잊어 버렸을 때, 그것이 모두 좋은 것이라고 생각할 때. 따라서 비효율에 비하면 불일치합니다.
guard 'spork', wait: 45 do
watch 'config/application.rb'
watch 'config/environment.rb'
watch %r{^config/environments/.+\.rb$}
watch %r{^config/initializers/.+\.rb$}
watch 'Gemfile'
watch 'Gemfile.lock'
watch 'spec/spec_helper.rb' do 'spec' end
end
guard 'rspec', version: 2 do
watch %r{^spec/.+_spec\.rb$}
watch %r{^lib/(.+)\.rb$} do |m| "spec/lib/#{m[1]}_spec.rb" end
watch %r{^spec/.+_spec\.rb$}
watch %r{^app/(.+)\.rb$} do |m| "spec/#{m[1]}_spec.rb" end
watch %r{^app/(.*)(\.erb|\.haml)$} do |m| "spec/#{m[1]}#{m[2]}_spec.rb" end
watch %r{^lib/(.+)\.rb$} do |m| "spec/lib/#{m[1]}_spec.rb" end
watch %r{^app/controllers/(.+)_(controller)\.rb$} do |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] end
watch %r{^spec/support/(.+)\.rb$} do 'spec' end
watch 'spec/spec_helper.rb' do "spec" end
watch 'config/routes.rb' do 'spec/routing' end
watch 'app/controllers/application_controller.rb' do 'spec/controllers' end
# Capybara request specs
watch %r{^app/views/(.+)/.*\.(erb|haml)$} do |m| "spec/views/**/#{m[1]}_spec.rb" end
watch %r{^app/.*\.sass$} do 'spec/requests/*' end
end
내가 좋아하는 일을 생각 :
여기 내 Guardfile입니다
watch %r{^app/models/*.rb} do system `killall bundle` end
…
그러나 그것은 분명 엄청난 kludge입니다. 여전히 지나치게 통과하는 테스트가 스크롤하는 것을 보는 것보다 낫습니다.
이 설정을 개선하는 데 도움을 주셔서 감사합니다.
아하,이 방법은 간단합니다. 'guard 'spork'섹션에'watch' 행을 더 추가하면됩니다. 거기에있는 것이 전부 다시 시작됩니다. – rking