Сценарии огурцов, которые не работают без сообщения об ошибке - PullRequest
1 голос
/ 04 июля 2010

Я получаю Rails и Cucumber на моей Mac OS X. Когда я пытаюсь запустить следующий сценарий:

Feature: ActorDetail
  In order to learn about an actor
  As a costumer 
  I want to see their details

Scenario: Actors page should exist
Given I am on actor page
Then I should see "Actors"

Когда я пытаюсь запустить тесты, я получаю следующее:

kevin:11:17 PM:~/Documents/Rails/testApp: cucumber
Using the default profile...
/usr/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/rails/gem_dependency.rb:119:Warning:     Gem::Dependency#version_requirements is deprecated and will be removed on or after August     2010.  Use #requirement
F--F

Failing Scenarios:
cucumber features/ActorDetail.feature:6 # Scenario: Actors page should exist

1 scenario (1 failed)
2 steps (2 skipped)
0m0.138s

Это провальный тест, но не так, как мне хотелось бы, чтобы он провалился, если вы понимаете, о чем я. Я ожидал сообщения о том, что для «Актеров» не определен путь

Интересно, что если я заменю двойные кавычки на «Актеры», я получу следующее:

kevin:11:09 PM:~/Documents/Rails/testApp: cucumber
Using the default profile...
/usr/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/rails/gem_dependency.rb:119:Warning: Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010.  Use #requirement
F-UF

Failing Scenarios:
cucumber features/ActorDetail.feature:6 # Scenario: Actors page should exist

1 scenario (1 failed)
2 steps (1 skipped, 1 undefined)
0m0.144s

Я прошу прощения, если предоставляю недостаточно информации о том, какие гемы я установил, сконфигурировал и т. Д. Я разрабатывал в Rails около трех часов.

Большое спасибо,

KevDog

Обновление Я сделал обновление самоцвета, и теперь, кажется, все стало хуже. Это текущая ошибка:

kevin:12:29 AM:~/Documents/Rails/testApp: cucumber
Using the default profile...
/usr/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/rails/gem_dependency.rb:119:Warning: Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010.  Use #requirement
/Users/kevin/.gem/ruby/1.8/gems/nokogiri-1.4.2/lib/nokogiri/nokogiri.bundle: [BUG] Bus Error
ruby 1.8.7 (2008-05-31 patchlevel 0) [i686-darwin9.4.0]

Abort trap

Это звучит не очень хорошо.

Ответы [ 4 ]

8 голосов
/ 05 июля 2010

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

cucumber --format pretty
0 голосов
/ 05 июля 2010

Вы пробовали делать:

rake gems:install RAILS_ENV=test

Это должно установить все драгоценные камни, необходимые для тестовой среды.Кроме того, в зависимости от того, определены ли какие-либо модели, вам также может понадобиться подготовить тестовую базу данных с

rake db:test:prepare
0 голосов
/ 04 июля 2010

Для предупреждения Gem::Dependency#version_requirements is deprecated похоже, что вам нужно обновить Rails (по крайней мере до 2.3.6).Оба Rails 2.3.6 и 2.3.7 включают коммит, который исправляет предупреждение, которое вы видите .Я не уверен, почему ваше обновление gem не решило бы эту проблему, если бы только оно не пыталось обновить гемы в вашем домашнем каталоге (я не пробовал использовать GEM_HOME для каждого пользователя, поэтому я не уверен, как он будет взаимодействовать).с необходимостью установки более новых версий гемов, которые включены в системный каталог гемов).Возможно, вам нужно сделать sudo /usr/local/bin/gem update вместо того обновления, которое вы ранее выполняли (обязательно переместите в сторону или удалите сломанную установку nokogiri в вашей домашней директории gems).

Разница в результатах при использовании одногои двойные кавычки в вашем шаге Then I should see, вероятно, связаны с тем, что не существует определения шага, соответствующего версии в одинарных кавычках.Проверьте этот файл features/step_definitions/web_steps.rb, чтобы убедиться в этом (моя версия из Cucumber 0.8.0 включает вариант JSON, вариант с двойными кавычками (буквенная строка) и вариант с разделителем-косой чертой (соответствие регулярному выражению), но без варианта с одинарными кавычками).

Кроме того, вам может потребоваться использовать the actor page вместо actor page или определить отображение пути для actor page в features/support/paths.rb.

0 голосов
/ 04 июля 2010

Проверьте пробелы. В опубликованном вами примере он не имеет правильного отступа.

Feature: ActorDetail
 In order to learn about an actor
 As a costumer 
 I want to see their details

 Scenario: Actors page should exist
   Given I am on actor page
   Then I should see "Actors"
...