Все работает, но медленно.
Я знаю, что Spork работает, потому что rspec spec/
выдает ответ менее чем за две секунды, и я знаю, что автотест работает, так как в конечном итоге выдает соответствующее уведомление Growlкогда я внесу изменения в код контроллера.Проблема в том, что Autotest
занимает слишком много времени, чтобы ответить: около 16 секунд.Пожалуйста, помогите мне выяснить, что происходит не так.
Я новичок в Rails и следую учебному пособию Майкла Хартла по Rails 3.и Spork с помощью Bundler, и вызывать их (каждый на своей вкладке окна терминала), используя bundle exec spork
и bundle exec autotest
.spork
(без "bundle exec") также работает нормально, но autotest
(без "bundle exec") выдает сообщение об ошибке "команда не найдена".
Gemfile моего проекта (взято из учебника и видео Hartl):
source 'http://rubygems.org'
gem 'rails', '3.0.9'
gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3'
gem 'gravatar_image_tag', '1.0.0.pre2'
gem 'will_paginate', '3.0.pre2'
group :development do
gem 'rspec-rails', '2.6.1'
gem 'annotate', '2.4.0'
gem 'faker', '0.3.1'
end
group :test do
gem 'rspec-rails', '2.6.1'
gem 'webrat', '0.7.1'
gem 'spork', '0.9.0.rc8'
gem 'autotest', '4.4.6'
gem 'autotest-rails-pure', '4.1.2'
gem 'autotest-fsevent', '0.2.4'
gem 'autotest-growl', '0.2.9'
gem 'factory_girl_rails', '1.0'
end
Файл .autotest моего проекта (также взят из Hartl):
require 'autotest/growl'
require 'autotest/fsevent'
Autotest.add_hook :initialize do |autotest|
autotest.add_mapping(/^spec\/requests\/.*_spec\.rb$/) do
autotest.files_matching(/^spec\/requests\/.*_spec\.rb$/)
end
end
Что происходит:
Когда ясохраните изменения в одном из моих файлов controller.rb (или файлов controller_spec.rb) примерно за 8 секунд до того, как на вкладке терминала автотеста появится какое-либо действие, которое на данном этапе представляет собой просто строку дефисов, за которой следует, а затемнесколько пустых строк.Примерно через 7 секунд на вкладке автотеста появится следующее сообщение:
/Users/jlee/.rvm/rubies/ruby-1.9.2-p180/bin/ruby -rrubygems -S /Users/jlee/rails_projects/sample_app_jbl/autotest/ruby/1.9.1/gems/rspec-core-2.6.4/bin/rspec --tty '/Users/jlee/rails_projects/sample_app_jbl/spec/controllers/pages_controller_spec.rb'
, за которым почти сразу следует активность на вкладке терминала spork и ожидаемые результаты теста во всем терминале.окна и в рычании уведомления.Так что все работает, просто МЕДЛЕННО!Я с нетерпением жду предложений о том, как исключить первые пятнадцать секунд из ответа автотеста.
8/7/2011