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

时间:2009-07-13 08:21:42

标签: ruby tdd cucumber bdd

当我运行黄瓜时它显示了 我应该定义的可能步骤,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

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

6 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:3)

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

答案 2 :(得分:3)

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

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

请参阅http://i48.tinypic.com/10r63o4.gif了解分步图片

享受

答案 3 :(得分:1)

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

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

答案 4 :(得分:0)

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

答案 5 :(得分:0)

您可以使用解决方法来生成步骤文件 您所要做的就是通过将特定功能标识为以下命令,在功能上运行黄瓜并没有定义步骤:

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:

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