黄瓜没有找到步骤定义

Rud*_*olf 6 ruby rspec ruby-on-rails cucumber

我的黄瓜只是找不到步骤定义.文件结构(只有Rails根目录下的specs文件夹)如下所示:

-> specs
   -> features
      -> main_structure.feature
      -> step_definitions
         -> main_structure_steps.rb
Run Code Online (Sandbox Code Playgroud)

这是main_structure.feature:

Feature: Main structure
  Scenario: Viewing the Structure page
    When I am on the structure page
Run Code Online (Sandbox Code Playgroud)

这是main_structure_steps.rb:

When(/^I am on the structure page$/) do
  visit '/'
end
Run Code Online (Sandbox Code Playgroud)

现在我像这样运行黄瓜命令:

? cucumber spec/features -r features 
Run Code Online (Sandbox Code Playgroud)

我得到这个输出:

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'
Run Code Online (Sandbox Code Playgroud)

底部还有一条错误消息,当我在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
Run Code Online (Sandbox Code Playgroud)

如果您需要任何其他信息,请告诉我.

Bal*_*ala 11

尝试

cucumber spec/features/main_structure.feature -r spec/features
Run Code Online (Sandbox Code Playgroud)