Огурец не находит определения шагов

Мой огурец просто не найдет определения шагов. Структура файла (только папка specs внутри корня Rails) выглядит следующим образом:

-> specs
   -> features
      -> main_structure.feature
      -> step_definitions
         -> main_structure_steps.rb

Это main_structure.feature:

Feature: Main structure
  Scenario: Viewing the Structure page
    When I am on the structure page

И это main_structure_steps.rb:

When(/^I am on the structure page$/) do
  visit '/'
end

Теперь я запускаю команду cucumber следующим образом:

→ cucumber spec/features -r features 

Я получаю этот вывод:

Using the default profile...
Feature: Main structure

  Scenario: Viewing the Structure page # spec/features/main_structure.feature:2
    When I am on the structure page    # spec/features/main_structure.feature:3
      Undefined step: "I am on the structure page" (Cucumber::Undefined)
      spec/features/main_structure.feature:3:in `When I am on the structure page'

1 scenario (1 undefined)
1 step (1 undefined)
0m0.229s

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

When(/^I am on the structure page$/) do
  pending # express the regexp above with the code you wish you had
end

/Users/rudolf/.rvm/gems/ruby-2.0.0-p247@global/gems/minitest-4.7.5/lib/minitest/unit.rb:1037:in `block in process_args': invalid option: -r (OptionParser::InvalidOption)
    from /Users/rudolf/.rvm/gems/ruby-2.0.0-p247@global/gems/minitest-4.7.5/lib/minitest/unit.rb:1016:in `new'
    from /Users/rudolf/.rvm/gems/ruby-2.0.0-p247@global/gems/minitest-4.7.5/lib/minitest/unit.rb:1016:in `process_args'
    from /Users/rudolf/.rvm/gems/ruby-2.0.0-p247@global/gems/minitest-4.7.5/lib/minitest/unit.rb:1066:in `_run'
    from /Users/rudolf/.rvm/gems/ruby-2.0.0-p247@global/gems/minitest-4.7.5/lib/minitest/unit.rb:1059:in `run'
    from /Users/rudolf/.rvm/gems/ruby-2.0.0-p247@global/gems/minitest-4.7.5/lib/minitest/unit.rb:795:in `block in autorun'

Внизу также есть сообщение об ошибке, которое не появляется, когда я запускаю тест в RubyMine. Но в обоих случаях определения шагов не найдены. Это выход Rubymine:

Testing started at 21:29 ...


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

When(/^I am on the structure page$/) do
  pending # express the regexp above with the code you wish you had
end
1 scenario (1 undefined)
1 step (1 undefined)
0m0.001s

Process finished with exit code 0

Скажите, если вам нужна дополнительная информация.

4 ответа

Решение

Пытаться

cucumber spec/features/main_structure.feature -r spec/features

У меня также была похожая проблема с Java, и для меня причина была в том, что в IDE NetBeans было установлено 2 плагина Cucumber. Я оставил Cetriolo и удалил огурец Особенности и тесты начали работать

Похоже на мой вопрос: Cucumber Test действует странным образом

Вы можете реализовать определения шагов для неопределенных шагов с помощью этих фрагментов:

When(/^I am on the structure page$/) do
  pending # express the regexp above with the code you wish you had
end

Как гласит ошибка. Поместите код выше в web_steps.rb и затем замените pending # express the regexp above with the code you wish you had с кодом, который вы хотите

Убедитесь, что синтаксис клея похож на приведенный ниже:

клей ={"PackageName"}

Здесь packageName - это пакет, в котором существует пошаговое определение Java-файла.

Другие вопросы по тегам