黄瓜在我自己的步骤定义myfeature_steps.rb中重用web_steps.rb中的步骤

时间:2012-08-11 20:29:33

标签: cucumber bdd

我正在为涉及选中/取消选中框的方案编写步骤定义。在步骤定义中,我尝试使用web_steps.rb中的现有步骤。但是我得到错误:未定义的步骤:“我检查'评级'”。有什么我必须做的让myfeature_steps.rb知道web_steps.rb。谢谢!

When /I (un)?check the following ratings: (.*)/ do |uncheck, rating_list|
  ratings = rating_list.split(%r{,\s*})
  if uncheck
    ratings.each do |r|
      step "I uncheck #{r}"
    end
  else
    ratings.each do |r|
      step "I check #{r}"
    end
  end
end

web_steps.rb

中存在以下步骤定义
When /^(?:|I )check "([^"]*)"$/ do |field|
  check(field)
end

When /^(?:|I )uncheck "([^"]*)"$/ do |field|
  uncheck(field)
end

1 个答案:

答案 0 :(得分:2)

问题似乎只是缺少引号。而不是

step "I uncheck #{r}"

你需要

step "I uncheck \"#{r}\""

但这可能取决于您实际从该功能提供的值,您没有提到这一点,但错误消息表明它们以单引号包含,这将不满足{{1}中的定义}。