Всегда ли синие черточки в выходных данных огурцов означают пропуск - PullRequest
4 голосов
/ 31 октября 2010

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

Вот мой набросок сценария.

Scenario Outline: Attempt to assign a role when not authorized
  Given a <user_who_can_not_assign_roles> exists with email: "johndoe@example.com"
  And that user is signed in
  And I am on the user's show page
  And a role exists with name: "<other_role1>"
  And a role exists with name: "<other_role2>"
  When I follow "Edit"
  Then I should not see "Admin"
  And I should not see "Manager"
  And I should not see "Salesperson"
  When I fill in "username" with "spuds"
  And I fill in "password" with "potatoes"
  And I fill in "password confirmation" with "potatoes"
  And I fill in "email" with "spuds@gmail.com"
  And I press "Save"
  Then I should see "success"
  And a role should exist with name: "<other_role1>"
  And that role should not be one of the user's roles
  And a role should exist with name: "<other_role2>"
  And that role should not be one of the user's roles

  Examples:
    | user_who_can_not_assign_roles | other_role1 | other_role2 |
    | manager                       | Admin       | Salesperson |
    | salesperson                   | Admin       | Manager     |

Когда я запускаю эту функцию, я получаю этот вывод.

-------------------......

2 сценария (2 пройдено)
38 шагов (38 пройдено)
0m3.300s

Я понял, что это 2 сценария, потому что у меня есть 2 примера в списке и 38 шагов - это 19 запусков дважды. Чего я не понимаю, так это того, почему он показывает синие черты (как это обычно показывают для пропущенных шагов), когда он также говорит, что пройдено 38 шагов.

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

У меня бегут рельсы 3.0.0, огурец 0.9.3 и рассол 0.4.2.

1 Ответ

4 голосов
/ 03 ноября 2010

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

cucumber -f pretty <your_fancy_scenario.feature>

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

Надеюсь, это поможет!

...