我正在使用Ruby on Rails 3.2.15,我想使用spring来加速我的开发。我正在使用guard 1.7.0和rspec 2.13.1。
这是我的Guardfile
:
guard 'rspec', cmd: 'bundle exec spring rspec --color --fail-fast', all_on_start: false, keep_failed: false, all_after_pass: false, rubygems: false, bundler: false do
watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
watch(%r{app/(.+)/(.+)\.rb}) { |m| "spec/#{m[1]}/#{m[2]}_spec.rb" }
watch(%r{spec/(.+)/(.+)_spec\.rb})
end
我在我的Gemfile上添加了spring-commands-rspec
gem:
group :development, :test do
...
gem 'spring-commands-rspec'
end
我bundle install
编辑并创建了binstub(bundle exec spring binstub --all
),运行guard
并保存了测试,以便guard
运行它。完成后,我检查了spring status
,但它说 Spring没有运行。
我修改了Guardfile
以删除rubygems
和bundler
选项,甚至删除了bundle exec
选项中的cmd
调用,但没有任何内容弹出。
有什么想法吗?谢谢!
答案 0 :(得分:0)
首先,您可以将RSpec选项放在.rspec
文件或.rspec-local
文件中,如下所示:
--color
--fail-fast
无论在何处调用rspec,都会使用它们。
其次,使用Guard和Spring的最佳方法是确保弹簧首先正常在外面保护,例如。
spring stop
bin/rspec # if it was generated with spring binstub
spring status
如果这不起作用 - 也许它没有得到正确的binstub。 RSpec是单独工作的吗? (没有春天)。
如果不起作用,请尝试以下步骤:https://github.com/rails/spring#troubleshooting
(如果弹簧由于其他原因没有启动)