黄瓜没有找到步骤定义

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

-> 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 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 

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

尝试

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

与我的问题类似: 黄瓜测试以一种奇怪的方式起作用

您可以使用以下代码段实现未定义步骤的步骤定义:

 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的代码和你想要的代码替换pending # express the regexp above with the code you wish you had

我也遇到了类似Java的问题,对我而言,原因是我在NetBeans IDE中安装了2个Cucumber插件。 我离开了Cetriolo并删除了Cucumber Features并且测试开始工作了

确保胶水语法如下所示:

胶= { “软件包名”}

这里packageName是步骤定义java文件所在的包