Ошибка запуска автотеста в Windows 7 с Rails 3, Ruby 1.9.2
Установка и запуск Rails 3 и Ruby 1.9.2 в Windows 7 прошли довольно гладко. Только теперь, когда я хочу запустить автотест, у меня возникают проблемы. Ошибка выглядит разочаровывающе простой, но я не могу понять, как ее решить.
У меня есть следующие драгоценные камни в моем Gemfile:
gem 'autotest'
gem 'autotest-rails-pure'
Но потом, когда я бегу bundle exec autotest
, Я получил:
loading autotest/rails
style: Rails
C:\bin\Ruby192\bin\ruby -I.;lib;test -rubygems -e "['test/unit',
'test/unit/helpers/users_helper_test.rb', 'test/unit/user_test.rb'].each
{ |f| require f }" | C:/bin/Ruby192/lib/ruby/gems/1.9.1/gems/autotest-4.4.1/bin/unit_diff -u
'C:' is not recognized as an internal or external command,
operable program or batch file.
Так что, похоже, что-то идет не так при форматировании некоторого пути, но я не уверен, где и как это решить. Я пытался запустить это под Cygwin, но безрезультатно.
Я также пытался использовать ZenTest
драгоценный камень вместо autotest
а также autotest-rails-pure
драгоценные камни и побежали! Однако он не обнаружил никаких тестовых файлов в каталогах по умолчанию. Так что, похоже, это тоже не очень полезно.
Кто может помочь?
2 ответа
О да! Я нашел решение! Драгоценные камни, которые мне нужны в этой настройке:
gem 'ZenTest'
gem 'autotest-rails-pure'
ZenTest
gem генерирует правильную строку командной строки (которая на самом деле просто имеет "unit_diff -u" за каналом, без пути). autotest-rails-pure
gem находит правильный набор тестов.
Я думаю, что это связано с тем, как командная оболочка Windows интерпретирует имена путей. Обычно вы можете заменить "/" на "\", и это все еще работает, но, очевидно, не тогда, когда вы также используете каналы. Бьюсь об заклад, если вы можете поставить кавычки вокруг неудачной команды (начиная с C:/bin/Ruby192/...), Windows распознает ее как строку.