автотест на убунту ничего не делает - PullRequest
1 голос
/ 02 сентября 2010

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

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

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

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

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

Ответы [ 3 ]

2 голосов
/ 02 сентября 2010

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

Для меня,Оказалось, что 'sudo gem uninstall ZenTest' делает свое дело.

0 голосов
/ 08 марта 2011

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

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

Autotest.add_hook(:initialize) do |at|
  at.add_mapping(%r%^(models|controllers|routing|views|helpers|mailers|requests|lib)/.*rb$%)      do |filename, _|
    filename
  end
end

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

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

0 голосов
/ 02 сентября 2010

У меня точно такая же среда, кроме 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 работает, и этого достаточно!

...