Я пытаюсь ускорить "rspecing" в приложении rails 2.3.8 со spork. Когда я запускаю spork в корне проекта, я получаю:
(...stuff...)
No server is running
Running specs locally:
Spork is ready and listening on 8989!
И затем, если я запускаю спецификации, появляется сообщение
No server is running
Running specs locally
, которое появляется, если я запускаю их без Spork, не появляется, однако запуск спецификаций происходит так же медленно, как и без Spork. Также в терминале Spork больше не выводится.
Мой вопрос: работает ли spork? Если да, работают ли спецификации там? И, наконец, если ответ на оба вопроса верен, как я могу ускорить мои тесты?
Вот соответствующие файлы конфигурации:
спецификация / spec.opts
--colour
--format progress
--loadby mtime
--reverse
--drb
спецификация / spec.helper
require 'rubygems'
require 'bundler/setup'
require 'spork'
Spork.prefork do
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path(File.join(File.dirname(__FILE__),'..','config','environment'))
require 'spec/autorun'
require 'spec/rails'
Dir[File.expand_path(File.join(File.dirname(__FILE__),'support','**','*.rb'))].each {|f| require f}
Spec::Runner.configure do |config|
end
end
Spork.each_run do
end
И, чтобы задать полный вопрос, вот время, измеренное с помощью «времени»:
со Spork:
real 0m39.524s
user 0m5.012s
sys 0m0.912s
без Spork:
real 0m39.576s
user 0m18.537s
sys 0m2.400s
При занятии спортом - диагноз я получаю
- Spork Diagnosis -
-- Summary --
config/boot.rb
config/initializers/inflections.rb
config/initializers/mime_types.rb
config/initializers/new_rails_defaults.rb
config/initializers/site_keys.rb
config/preinitializer.rb
spec/spec_helper.rb
А потом, для
--- config/initializers/inflections.rb ---
--- config/initializers/mime_types.rb ---
--- config/initializers/new_rails_defaults.rb ---
--- config/initializers/site_keys.rb ---
Следующая трассировка стека
/var/lib/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:147:in `load'
/var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:622:in `load_application_initializers'
/var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:621:in `each'
/var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:621:in `load_application_initializers'
/var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:176:in `process'
/var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:113:in `send'
/var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:113:in `run_without_spork'
/var/lib/gems/1.8/gems/spork-0.8.4/lib/spork/app_framework/rails.rb:18:in `run'
config/environment.rb:15
spec/spec_helper.rb:14:in `require'
spec/spec_helper.rb:14
/var/lib/gems/1.8/gems/spork-0.8.4/bin/../lib/spork.rb:23:in `prefork'
спецификация / spec_helper.rb: 6