使用guard-rack重新加载应用程序。它正确地重新加载应用程序,但是如何在重新加载后运行规范?
guard :rack do
watch('Gemfile.lock')
watch(%r{^app/(.+)\.rb$})
callback(:reload) { `rspec spec` }
end
回调应该在应用程序更新后运行规范,但似乎没有任何事情发生。
配置:
Capybara.configure do |config|
config.run_server = false
config.default_driver = :poltergeist
config.app_host = 'http://localhost:9292'
end
还使用guard-rspec:
guard :rspec, cmd: 'rspec spec' do
watch(%r{^spec/(.+)\.rb$}) { 'spec' }
end
参考:Guard Docs
答案 0 :(得分:2)
感谢安东尼,我明白了。 rspec后卫必须 来到 机架后卫:
guard :rack do
watch('Gemfile.lock')
watch(%r{^app/(.+)\.rb$})
end
guard :rspec, cmd: 'rspec spec' do
watch(%r{^app/(.+)\.rb$}) { 'spec' }
watch(%r{^spec/(.+)\.rb$}) { 'spec' }
end
答案 1 :(得分:1)
我们在工作中使用gaurd-rspec,这很棒。配置就像:
guard :rspec, cmd: 'rspec' do
watch(%r{^spec/.+_spec\.rb$})
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
watch('spec/spec_helper.rb') { "spec" }
end