Автотест на убунту ничего не делает
Запуск $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
и это достаточно хорошо!