我有以下步骤定义(仅用于说明我的问题):
When(/^the calculator is run$/) do
step %{When xxx the calculator is run xxx}
end
When(/^xxx the calculator is run xxx$/) do
@output = `ruby calc.rb #{@input}`
raise('Command failed!') unless $?.success?
end
在我的功能文件中,当我致电:
When the calculator is run
我收到了错误消息:
Undefined dynamic step: "When xxx the calculator is run xxx" (Cucumber::UndefinedDynamicStep)
./features/step_definitions/calculator_steps_when.rb:2:in `/^the calculator is run$/'
features/adding.feature:11:in `When the calculator is run'
features/adding.feature:6:in `When the calculator is run'
根据文档,这应该有效。最初我有不同文件中的步骤,并认为我可能必须提供一些include指令,但现在即使步骤在同一个文件中也会发生。我错过了什么?
由于
答案 0 :(得分:10)
在这一行:
step %{When xxx the calculator is run xxx}
删除“何时”,它应该可以正常工作。
您可以在cucumber docs中查看此内容。他们提供的step
示例不包含“何时”一词。