Мои тесты Ruby не будут выполняться

Время от времени я запускаю iTerm 2, который использует zsh, для работы с учебниками. Иногда, когда я пытаюсь запустить свои тесты Ruby, они не запускаются. Ничто не возвращается. Процесс никогда не запускается, и мне нужно ctrl + C, чтобы вырваться из него.

Вот команда, которую я запускаю:

ruby -I test/unit/name_of_test.rb

Это происходит во всех моих тестах. Иногда мне просто нужно перезагрузить компьютер. Есть идеи?

Я также пытался использовать Terminal, который также использует zsh.

Я на OS X, используя ruby 1.9.3 и Rails 3.2.8.

0
nl ja de

2 ответы

Это не проблема Ruby, iTerm 2, Terminal или zsh. Вместо этого он не понимает, как приложения nix OS обрабатывают чтение из STDIN.

Проблема, которую вы видите, заключается в том, что -I указывает каталог $ LOAD_PATH . В результате ruby использует ваш путь/в/script как переменную LOAD_PATH , а затем висит, ожидая ввода из STDIN, потому что не видел скрипта для запуска.

Вместо использования CNTRL + C или перезапуска используйте CNTRL + D . Это закрывает входной поток, что приведет к выходу ruby из-за отсутствия команд для запуска.

Вы можете проверить это, используя:

ruby -I /dev/null

в командной строке. Рубин будет висеть, ожидая ввода. Закройте вход, и ruby немедленно выйдет. Конечно, если вы не понимаете, что это произошло, вы можете набрать некоторые интересные команды Ruby, которые ничего не сделают, пока не увидите CNTRL + D , то может выплюнуть всевозможные информационные сообщения, но это понятно, поскольку вход, вероятно, будет сумасшедшим, если говорить о интерпретаторе.

Эта же комбинация CNTRL + D используется для закрытия ввода от всех видов других программ * nix при чтении из STDIN.

2
добавлено
Это определенно полезно. Спасибо. Хотя в ответе, который я дал, я, очевидно, даже не использовал правильный синтаксис для начала, так что, конечно, это не помогло моей ситуации.
добавлено автор jthomas, источник

Doh! Когда я писал это, я заметил свою проблему и решил, что я продолжу и даю ответ, если кто-нибудь еще это сделает. Мне нужно было настроить мою команду, чтобы добавить слово test , прежде чем указывать каталог, например:

ruby -I test test/unit/name_of_test.rb
1
добавлено
pro.ruby
pro.ruby
1 181 участник(ов)

Язык программирования Ruby Additional docs: https://rubyreferences.github.io/rubyref/ Invite: https://telegram.me/joinchat/Be4rsT2NuB3CyJaF26j1kA Кто хочет компилировать: @crystal_ru (его синтаксис основан на Ruby) Участник @proDOT

Ruby, Rails, Hanami | dry-rb
Ruby, Rails, Hanami | dry-rb
1 180 участник(ов)

https://telegram.me/rubyjob - Ruby Job По вопросам - @eugene_shved

Ruby School .us
Ruby School .us
1 045 участник(ов)

Чат-болталка для учеников руби-школы и не только. Правила: https://telegra.ph/Pravila-chata-Rubi-shkoly-03-13

Random Ruby Chat
Random Ruby Chat
589 участник(ов)

Правила публикации вакансий: https://t.me/codenamecrud/60865

Rubyata
Rubyata
333 участник(ов)

Коммюнити Ruby и Ruby On Rails Флуд не приветствуются. Вакансии можно публиковать только и ТОЛЬКО по пятницам с хештегом #вакансия.

Ruby Talks
Ruby Talks
236 участник(ов)

Национальная Флеймотека

RubyRush
RubyRush
189 участник(ов)

rubyrush.ru программирование для самых новичков