Подтвердить что ты не робот

Проблемы с Guard, Spork, Rspec & Rails 3

Я следил за spork railscast video, и это вызывает у меня следующую ошибку, когда я пытаюсь запустить guard:

Guard is now watching at '/Users/m/work/'
Starting Spork for Test::Unit & RSpec 
Couldn't find a supported test framework that begins with 'testunit'

Supported test frameworks:
( ) Cucumber
(*) RSpec

Legend: ( ) - not detected in project   (*) - detected
Using RSpec
Preloading Rails environment
Loading Spork.prefork block...
Spork is ready and listening on 8989!
--> ERROR: Could not start Spork server for Test::Unit & RSpec. Make sure you can use it manually first.
Guard::RSpec is running, with RSpec 2!
Running all specs

Похоже, что spork-сервер запускается нормально, а затем ошибки и пытается продолжить. Я попытался сделать: wait вариант 120 секунд, и у него все еще есть такая же проблема.

Spork отлично работает, если я выполняю тесты без защиты и защиты-spork

Окружающая среда:

  • Mac OSX
  • рельсы (3.1.1)
  • guard (0.8.8)
  • guard-rspec (0.5.4)
  • spork (0.9.0.rc9)
  • защита-spork (0.3.1)

Как я могу отладить эту проблему? Я не знаю, с чего начать.

4b9b3361

Ответ 1

У меня была именно эта проблема на Ubuntu. Мое решение было достаточно простым:

1) Я остановил охрану

2) Я удалил тестовую папку

3) начал охранять

На этот раз, вместо того, чтобы видеть начало Spork для тестирования:: Unit и RSpec, я начал запускать Spork для RSpec. Таким образом, spork автоматически узнал, что моя тестовая папка больше не нужна, и все работает сладко.

Интересно, что

Supported test frameworks:
( ) Cucumber
(*) RSpec
Сообщение

также исчезло, и я получил точно ожидаемые результаты по railscast.

Единственные выводы, которые я могу придумать, заключаются в следующем:

1) Это не проблема, зависящая от ОС.

2) spork, rspec и тестовый блок не играют хорошо в Rails > v3.x приложениях, что имеет смысл. Вам не нужны оба. ОБНОВЛЕНИЕ - см. Обновленный ответ ниже, если вы хотите оба.

Очевидно, что я очень внимательно следил за инструкциями Railscast, но я серьезно предлагаю вам посмотреть на удаление тестовой папки.

UPDATE Следует отметить, что можно заставить обоих играть красиво вместе в соответствии с комментарием ниже от @yuvilio, цитата из которого следует:

Я не думаю, что проблема в том, что они не ладят друг с другом. Я получил Cucumber/Rspec/testunit, чтобы играть друг с другом в spork. В моем gemfile, помимо драгоценных камней rspec/oucumber/guard, я добавил spork-testunit, guard-test, ruby-prof gems и выполнил установку пакета. Затем я загрузил testunit: bundle exec spork testunit --bootstrap.Then настроил test/test_helper.rb. Затем обновляется файл охраны, смотрящий на testunit: bundle exec guard init test. Когда я побежал, я получил выход, включая Spork server для RSpec, Cucumber, Test:: Unit успешно запущен

Ответ 2

Если вы не хотите удалять тестовую папку, вы можете просто сказать сторожу игнорировать ее:

guard 'spork', test_unit: false do
  # ...
end