黄瓜:自动步骤文件创建?

当我运行黄瓜时,它会显示我应该定义的可能步骤,这是RSpec书中的一个例子:

1 scenario (1 undefined) 4 steps (4 undefined) 0m0.001s You can implement step definitions for undefined steps with these snippets: Given /^I am not yet playing$/ do pending end When /^I start a new game$/ do pending end Then /^the game should say “Welcome to CodeBreaker”$/ do pending end Then /^the game should say “Enter guess:”$/ do pending end 

有没有办法自动创建步骤定义文件,所以我不必手动重写或复制粘贴,但我可以只是自定义它们更通用?

黄瓜不提供此function。 可能是因为你必须告诉它在哪里放置步骤定义文件,以及命名它。

就像Kevin说的那样,Cucumber必须知道要放入的文件的名称,除了使用与特征文件相同的文件名之外,没有好的默认设置。 这是我认为反模式的东西: http : //wiki.github.com/aslakhellesoy/cucumber/feature-coupled-steps-antipattern

Intellij Idea或RubyIDE完全符合您的要求:

  • 检测缺少的步骤定义
  • 在新文件(您选择文件的名称)或现有步骤定义文件之一中创建缺少的步骤定义
  • 突出显示匹配的步骤参数

有关一步一步的图片,请参见http://sofzh.miximages.com/ruby/10r63o4.gif

请享用

这种function有可能是有用的,但正如凯文所说,它目前还不存在。 但它也可能很快变得非常混乱。

也许你已经这样做了,但没有什么可以阻止你直接将输出剪切并粘贴到文本编辑器中,或者如果你愿意的话,甚至可以直接将输出汇总到你的文本编辑器。 那么至少你可以在那里获得大部分内容,无论是创建文件还是命名。

试试这个https://github.com/unxusr/kiwi它自动生成你的function文件并为你制作步骤定义文件,你只需用代码填写步骤。 在以后的版本中,将编写步骤的代码并自动运行所有这些测试

您可以使用解决方法生成步骤文件所有您需要做的就是通过将特定function标识为以下命令来运行function上没有已定义步骤的Cucumber:

1)使用路径

 bundle exec cucumber {PATH} note path would start with features/.... for example features/users/login.feature 

1)使用标签

 bundle exec cucumber --tags=@{TAG} note tag should be above your scenario in the steps file for example @TAG Scenario: 

并且您将在控制台中具有待处理状态的建议步骤