Автотест на убунту ничего не делает

Запуск $autotest или $autotest -f дает тот же результат:

# Ожидание с [отметка времени]

Изменение контроллера или спецификационного файла просто повторяет эту строку (с более новой временной меткой). Если я попробую $autotest -v, он не включит спецификацию или контроллер в список файлов, для которых не найдено ни одного теста, что, я полагаю, хорошо; но он не показывает ничего другого, кроме #waiting line.

Если я внесу изменения в спецификацию или контроллер во время работы -v, выводом будет хеш, повторенный дважды с {[путь / к / изменен / файл] => [метка времени]}.

Это Ubuntu 9.04, Ruby 1.9.2, Rails 3, autotest 4.3.2, autotest-rails 4.1.0 и rspec 2.0.0.beta.20. (Я должен также сказать, что rspec /spec сам по себе работает нормально.) Есть идеи?

3 ответа

Ага! Я делал это как часть моего первого эксперимента с rvm, но я использовал ZenTest в качестве драгоценного камня в /usr/lib/ruby. Даже после того, как я установил 'rvm use ___' на нужный мне набор гемов - тот, что имел самоцветы с автотестами и autotest-rails-pure - команда autotest по-прежнему собирала файл в / usr / bin / autotest, который использовался старым ZenTest. положил на место. Так что для любого, кто следит за railstutorial.org - убедитесь, что у вас нет драгоценных камней от предварительного использования (или от установок sudo gem), которые оставляют файлы в местах, которые вы не ожидаете.

Для меня "sudo gem uninstall ZenTest", как оказалось, сработал.

Моя проблема была решена путем добавления следующего в мой файл autotest / Discover.rb:

Autotest.add_discovery {"rails"}
Autotest.add_discovery {"rspec2"}

Autotest.add_hook (: initialize) do | at |
  at.add_mapping (% r% ^ (модели | контроллеры | маршрутизация | представления | помощники | почтовые программы | запросы |lib)/.*rb$%)      do |filename, _|
    имя файла
  конец
конец

Это заставит автотест загружать все ваши файлы и корректно запускать ваши спецификации, когда вы сохраняете изменения либо в файле приложения, либо в файле спецификации.

Я написал об этом здесь: http://itshouldbeuseful.wordpress.com/2011/03/08/force-autotest-to-load-all-your-application-files/

У меня точно такая же среда, кроме Windows вместо Ubuntu. Я с той же проблемой. Я определил, что он на самом деле не использует rails_app/autotest/ Discover.rb. Я настроил это так (попытался изменить порядок, не имеет значения, добавил операторы вывода, и они никогда не запускались.):

Autotest.add_discovery { "rspec2" }
Autotest.add_discovery { "rails" }

Я нашел решение:

в моем Gemfile для компоновщика я указал ZenTest, и мне нужно было поменять его для этих красот (autotest-rails зависит от ZenTest, но это имело все значение):

gem 'autotest'
gem 'autotest-rails'

И теперь это работает (почти, но, по крайней мере, теперь у меня есть проблема, связанная с Windowsy). Я думаю, что это поможет вам!

Что ж autotestдо сих пор не работает, но bundle exec autotest и это достаточно хорошо!

Другие вопросы по тегам