Что такое огурец #source_tag? - PullRequest
       21

Что такое огурец #source_tag?

1 голос
/ 20 февраля 2012

У меня проблема с огурцом, когда.Здесь все

Мой Gemfile

source 'https://rubygems.org'

gem 'rails', '3.2.1'

gem 'pg'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

group :test do 
  gem 'rspec-rails'
  gem 'factory_girl_rails'
  gem 'cucumber-rails'
  gem 'database_cleaner'
  gem 'capybara'
end

Функциональный тест

Feature: Requesting invitations
  As a visitor
  I want to request a beta invitation
  So I can be sent an invitation when the site is ready

  Scenario: Requesting an invitation
    Given I am on the homepage
    When I request and invitation for "foo@example.com"
    Then I should see "Your on the list" confirmation

Ошибка вывода

    Feature: Requesting invitations
      As a visitor
      I want to request a beta invitation
      So I can be sent an invitation when the site is ready

      Scenario: Requesting an invitation
        Given I am on the homepage
        When I request and invitation for "foo@example.com"
        Then I should see "Your on the list" confirmation

rake cucumber:ok
/Users/node/.rvm/rubies/ruby-1.9.2-p290/bin/ruby -S bundle exec cucumber  --profile default
Using the default profile...
Feature: Requesting invitations
  As a visitor
  I want to request a beta invitation
  So I can be sent an invitation when the site is ready

  Scenario: Requesting an invitation                    # features/requesting_invitations.feature:6
Deprecated: please use #source_tags instead.
    Given I am on the homepage                          # features/requesting_invitations.feature:7
      Undefined step: "I am on the homepage" (Cucumber::Undefined)
      features/requesting_invitations.feature:7:in `Given I am on the homepage'
    When I request and invitation for "foo@example.com" # features/requesting_invitations.feature:8
      Undefined step: "I request and invitation for "foo@example.com"" (Cucumber::Undefined)
      features/requesting_invitations.feature:8:in `When I request and invitation for "foo@example.com"'
    Then I should see "Your on the list" confirmation   # features/requesting_invitations.feature:9
      Undefined step: "I should see "Your on the list" confirmation" (Cucumber::Undefined)
      features/requesting_invitations.feature:9:in `Then I should see "Your on the list" confirmation'

1 scenario (1 undefined)
3 steps (3 undefined)
0m0.967s

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

Given /^I am on the homepage$/ do
  pending # express the regexp above with the code you wish you had
end

When /^I request and invitation for "([^"]*)"$/ do |arg1|
  pending # express the regexp above with the code you wish you had
end

Then /^I should see "([^"]*)" confirmation$/ do |arg1|
  pending # express the regexp above with the code you wish you had
end

rake aborted!
Command failed with status (1): [/Users/node/.rvm/rubies/ruby-1.9.2-p290/bi...]

Tasks: TOP => cucumber:ok
(See full trace by running task with --trace)

Так что, как вы можете видеть по какой-то причине, он ломается, когдаЯ запускаю это задание с граблями.Я получаю то же самое, когда запускаю 'rake cucumber', я не знаю, что такое #source_tag, и не смог найти документацию по нему.Как я могу это исправить и устранить ошибку?Я думал, что это был довольно прямой сценарий.Список драгоценных камней дает:

cucumber (1.1.8)
cucumber-rails (1.3.0)

Спасибо.Любая помощь приветствуется.

Ответы [ 2 ]

3 голосов
/ 23 февраля 2012

Предупреждение #source_tag действительно предназначено для разработчиков capybara. Капибара - это зависимость огурцов-рельсов.

( Подсказка, сейчас самое время урезать Gemfile ... каждый бит помогает. )

Как видно из выпусков github огурцов

Действительно, предупреждение об устаревании предназначено для показа разработчикам Capybara, поэтому вам, как пользователю Cucumber, не имеет смысла его видеть. Я предполагаю, что мы должны просто полностью удалить предупреждения об устаревании, если кто-то не придумает хитрый механизм, который будет показывать его разработчикам Capybara только тогда, когда они проводят свои тесты. @aslakhellesoy @joliss @jnicklas WDYT?

...

Огурец 1.1.9 выпущен, убрав предупреждения.

tl; dr обновление до cucumber> = 1.1.9 и отвлечение #source_tag исчезнет.

0 голосов
/ 20 февраля 2012

Я не уверен, что означает сообщение 'source_tags', но это скорее предупреждение, чем ошибка.По-видимому, реальная проблема заключается в том, что огурец не нашел ни одного определения шага.Вам нужно будет написать определения шагов, Cucumber должен дать вам код для начала - он обычно печатает «фрагменты» сразу после сводки результатов.

...