Рубин на рельсах. Bundler. Огурец. грабли прерваны! Сбой команды со статусом (1) - PullRequest
6 голосов
/ 18 сентября 2010

У меня проблема с использованием Bundler и Cucumber с Rails 3.

Когда я запускаю $ rake cucumber, я получаю следующий вывод:

bundle exec /usr/local/bin/ruby -I "/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-
0.8.5/lib:lib" "/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-0.8.5/bin/cucumber"  --profile default
(in /home/<username>/practice/rails/blog)
Using the default profile...
UUUU

1 scenario (1 undefined)
4 steps (4 undefined)
0m1.552s

You can implement step definitions for undefined steps with these snippets:

Given /^a post$/ do
  pending # express the regexp above with the code you wish you had
end

Given /^a name was specified$/ do
  pending # express the regexp above with the code you wish you had
end

When /^I save the post$/ do
  pending # express the regexp above with the code you wish you had
end

Then /^the post should be saving$/ do
  pending # express the regexp above with the code you wish you had
end

rake aborted!
Command failed with status (1): [bundle exec /usr/local/bin/ruby -I "/usr/l...]
/usr/local/lib/ruby/1.9.1/rake.rb:993:in `block in sh'
/usr/local/lib/ruby/1.9.1/rake.rb:1008:in `call'
/usr/local/lib/ruby/1.9.1/rake.rb:1008:in `sh'
/usr/local/lib/ruby/1.9.1/rake.rb:1092:in `sh'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-0.8.5/lib/cucumber/rake/task.rb:72:in `run'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-0.8.5/lib/cucumber/rake/task.rb:142:in `block in define_task'
/usr/local/lib/ruby/1.9.1/rake.rb:634:in `call'
/usr/local/lib/ruby/1.9.1/rake.rb:634:in `block in execute'
/usr/local/lib/ruby/1.9.1/rake.rb:629:in `each'
/usr/local/lib/ruby/1.9.1/rake.rb:629:in `execute'
/usr/local/lib/ruby/1.9.1/rake.rb:595:in `block in invoke_with_call_chain'
/usr/local/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/usr/local/lib/ruby/1.9.1/rake.rb:588:in `invoke_with_call_chain'
/usr/local/lib/ruby/1.9.1/rake.rb:605:in `block in invoke_prerequisites'
/usr/local/lib/ruby/1.9.1/rake.rb:602:in `each'
/usr/local/lib/ruby/1.9.1/rake.rb:602:in `invoke_prerequisites'
/usr/local/lib/ruby/1.9.1/rake.rb:594:in `block in invoke_with_call_chain'
/usr/local/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/usr/local/lib/ruby/1.9.1/rake.rb:588:in `invoke_with_call_chain'
/usr/local/lib/ruby/1.9.1/rake.rb:581:in `invoke'
/usr/local/lib/ruby/1.9.1/rake.rb:2041:in `invoke_task'
/usr/local/lib/ruby/1.9.1/rake.rb:2019:in `block (2 levels) in top_level'
/usr/local/lib/ruby/1.9.1/rake.rb:2019:in `each'
/usr/local/lib/ruby/1.9.1/rake.rb:2019:in `block in top_level'
/usr/local/lib/ruby/1.9.1/rake.rb:2058:in `standard_exception_handling'
/usr/local/lib/ruby/1.9.1/rake.rb:2013:in `top_level'
/usr/local/lib/ruby/1.9.1/rake.rb:1992:in `run'
/usr/local/bin/rake:31:in `'

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

Вот мой Gemfile:

group :development, :test do
  gem 'cucumber-rails'
  gem 'rspec-rails', '>= 2.0.0.beta.22'
  gem 'Selenium'
  gem 'thin'
  gem 'webrat'
end

Хочу отметить, что если я использую команды bundle exec cucumber или cucumber features/, я не получаю никаких сообщений об ошибках.

В чем причина этой проблемы? Как я могу решить это?

Спасибо.

Debian GNU / Linux 5.0.6;

Рубин 1.9.2;

Ruby on Rails 3.0.0;

Bundler 1.0.0;

огурец 0,8,5;

Огурцы-рельсы 0.3.2.

1 Ответ

5 голосов
/ 20 октября 2010

Я также вижу ту же проблему. С небольшой охотой я мог понять, где эта ошибка, но все еще не знаю, как ее исправить.

Проблема в том, что завершается вызов оболочки "bundle exec ..." с кодом состояния "1". Это ошибка для скрипта rake.rb, и поэтому он выбрасывает эти строки. Похоже, это всего лишь ложная тревога.

Кроме того, это происходит только тогда, когда все сценарии проходят. Если есть хотя бы один сбой, вы не увидите эту ошибку.

...